Skip to content

ICE with impls exported from a non-exported module #2313

Closed
@nikomatsakis

Description

@nikomatsakis

Here is a test case. The first file a.rs is:

import inner::extensions;

export extensions;

mod inner { impl extensions for uint { fn me() -> uint { self } } }

The second file b.rs is:

use a;
import a::extensions;

fn main() {
  #debug["%u", 3u.me()];
}

The result:

Script started on Fri Apr 27 08:26:09 2012
�[?1034h;rustc --lib a.rs
Running /usr/local/bin/rustc:
�[1;33mwarning:�[0m missing crate link meta 'name', using 'a' as default
�[1;33mwarning:�[0m missing crate link meta 'vers', using '0.0' as default
warning: no debug symbols in executable (-arch x86_64)
;rustc -L b.rs����.b.rs���� b.rs����
Running /usr/local/bin/rustc:
�[1;31merror:�[0m internal compiler error unexpected failure
�[1;32mnote:�[0m The compiler hit an unexpected failure path. This is a bug. Try running with RUST_LOG=rustc=0,::rt::backtrace to get further details and report the results to github.com/mozilla/rust/issues
;exit

Script done on Fri Apr 27 08:26:19 2012

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-resolveArea: Name/path resolution done by `rustc_resolve` specifically

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions