Skip to content

Static mutable enum variables break the compiler. #11516

Closed
@dradtke

Description

@dradtke

I was playing around with Rust recently trying to develop a module that needed to maintain some internal state, and came across what appears to be a lack of support for static variables for anything besides primitive types.

Here's my example program (list definition taken from the tutorial):

enum List<T> {
    Cons(T, ~List<T>),
    Nil,
}

static mut numbers: List<int> = Nil;

fn main() {}

And here's the error that trying to compile this code generates with RUST_LOG=rustc=1, minus some dead code warnings:

task 'rustc' failed at 'assertion failed: !is_undef(wrapped)', /opt/rust/src/librustc/middle/trans/adt.rs:773
error: internal compiler error: unexpected failure
This message reflects a bug in the Rust compiler.
We would appreciate a bug report: https://github.com/mozilla/rust/wiki/HOWTO-submit-a-Rust-bug-report
note: the compiler hit an unexpected failure path. this is a bug
note: try running with RUST_LOG=rustc=1 to get further details and report the results to github.com/mozilla/rust/issues
task '<main>' failed at 'explicit failure', /opt/rust/src/librustc/lib.rs:453

This is with Rust 0.9 on openSUSE 13.1.

Metadata

Metadata

Assignees

No one assigned

    Labels

    I-ICEIssue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions