diff --git a/src/rustc/metadata/creader.rs b/src/rustc/metadata/creader.rs index 4b53fc758a7f..0721342767d0 100644 --- a/src/rustc/metadata/creader.rs +++ b/src/rustc/metadata/creader.rs @@ -355,7 +355,11 @@ fn resolve_crate(e: env, ident: ast::ident, metas: [@ast::meta_item], // Now resolve the crates referenced by this crate let cnum_map = resolve_crate_deps(e, cdata); - let cmeta = @{name: ident, data: cdata, + let cname = alt attr::meta_item_value_from_list(metas, "name") { + option::some(v) { v } + option::none { ident } + }; + let cmeta = @{name: cname, data: cdata, cnum_map: cnum_map, cnum: cnum}; let cstore = e.sess.cstore; diff --git a/src/test/run-pass/use-crate-name-alias.rs b/src/test/run-pass/use-crate-name-alias.rs new file mode 100644 index 000000000000..fe75111fc499 --- /dev/null +++ b/src/test/run-pass/use-crate-name-alias.rs @@ -0,0 +1,4 @@ +// Issue #1706 +use stdlib(name="std"); + +fn main() {}