Skip to content

resolve issue with reexports #5693

Closed
Closed
@doy

Description

@doy
// foo.rs
#[link(name = "foo", vers = "0")];
#[crate_type = "lib"];

pub use bar::MyValue;

mod bar;
pub mod baz;
// bar.rs
pub enum MyType { MyValue }

pub fn blorg (_: MyType) { }
// baz.rs
mod bar;
pub fn quux (m: bar::MyType) { bar::blorg(m) }
// app.rs
extern mod foo;

fn main () {
    foo::baz::quux(foo::MyValue);
}
$ rustc foo.rs
$ rustc -L. app.rs
app.rs:4:19: 4:31 error: mismatched types: expected `foo::baz::bar::MyType` but found `foo::bar::MyType` (expected enum foo::baz::bar::MyType but found enum foo::bar::MyType)
app.rs:4     foo::baz::quux(foo::MyValue);
                            ^~~~~~~~~~~~
error: aborting due to previous error

As far as I can tell, foo::baz::bar::MyType is nonsense here.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions