Skip to content

Empty classes dislike being placed into vectors #2509

Closed
@brson

Description

@brson
class c {
    new() { }
}

fn main() {
    let a = c();
    let x = [a];
    let y = x[0];
}
rust: upcall fail 'bounds check', /home/banderson/Dev/rust/src/test/run-pass/test.rs:8
rust: domain main @0x66e8e30 root task failed

Also:

class c {
    new() { }
}

fn main() {
    for [c()].each {|i|
    }
}
==19949==
==19949== Process terminating with default action of signal 8 (SIGFPE)
==19949==  Integer divide by zero at address 0x40339A836
==19949==    at 0x401068: vec::unpack_slice7::_79a2ea93cf50478f::_00 (in /home/banderson/Dev/rust/build/x86_64-unknown-linux-gnu/test/run-pass/test.stage1-x86_64-unknown-linux-gnu)
==19949==    by 0x400F0E: vec::each6::_67468c156592b8bf::_00 (in /home/banderson/Dev/rust/build/x86_64-unknown-linux-gnu/test/run-pass/test.stage1-x86_64-unknown-linux-gnu)
==19949==    by 0x400E90: vec::extensions::each5::_4ad0f86fc13c8027::_00 (in /home/banderson/Dev/rust/build/x86_64-unknown-linux-gnu/test/run-pass/test.stage1-x86_64-unknown-linux-gnu)
==19949==    by 0x400C06: main::_f8ae15773a042ac1::_00 (in /home/banderson/Dev/rust/build/x86_64-unknown-linux-gnu/test/run-pass/test.stage1-x86_64-unknown-linux-gnu)
==19949==    by 0x400D1B: _rust_main (in /home/banderson/Dev/rust/build/x86_64-unknown-linux-gnu/test/run-pass/test.stage1-x86_64-unknown-linux-gnu)
==19949==    by 0x5341D1A: task_start_wrapper(spawn_args*) (rust_task.cpp:153)

Metadata

Metadata

Assignees

No one assigned

    Labels

    I-crashIssue: The compiler crashes (SIGSEGV, SIGABRT, etc). Use I-ICE instead when the compiler panics.

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions