Skip to content

ICE with library crate #4260

Closed
Closed
@jesse99

Description

@jesse99

Getting an ICE trying to use rparse with 0.5. Annoyingly it only happens when I actually use the rparse library: if I simply paste the relevant rparse code into my test case it compiles fine. Here is the test case. It assumes that you have rparse d5baebecf681870b4f06660968c15c7d823b3cfe available (rparse doesn't have any dependencies so it should be simple to build):

#[allow(non_implicitly_copyable_typarams)];

extern mod std;

extern mod rparse (name = "rparse", vers = "0.6");
use rparse::{StringParsers, seq2};

priv fn langtag()
{
    let suffix = do seq2("oh".lit(), "noes".lit()) 
        |_l, _name| {result::Ok(~"-")};
    fmt!("%?", suffix);
}

//RUST_LOG=rustc=1,::rt::backtrace rustc -L . --test rparse_ice.rs
//rust: task failed at 'Key not found in table: 5331', /Users/jessejones/Source/Third_Party/rust/src/librustc/rustc.rc:1
//error: internal compiler error: unexpected failure
//note: the compiler hit an unexpected failure path. this is a bug
//note: try running with RUST_LOG=rustc=1,::rt::backtrace to get further details and report the results to github.com/mozilla/rust/issues
//rust: task failed at 'explicit failure', /Users/jessejones/Source/Third_Party/rust/src/librustc/rustc.rc:425
//rust: domain main @0x7f8134800010 root task failed
//rust: task failed at 'killed', /Users/jessejones/Source/Third_Party/rust/src/libcore/task/mod.rs:570
//make: *** [rparse_ice] Error 101
//exited with code 2

// Note that there is no ICE if the seq2+ret code is pasted into here (and given new names like seq2b and retb).
// Also the ICE happens with rparse optimizations on and off (on is the default).

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-linkageArea: linking into static, shared libraries and binariesA-metadataArea: Crate metadataI-ICEIssue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions