]> git.lizzy.rs Git - rust.git/commit
rustc: Add support for `extern crate foo as bar`
authorAlex Crichton <alex@alexcrichton.com>
Thu, 19 Mar 2015 22:39:03 +0000 (15:39 -0700)
committerAlex Crichton <alex@alexcrichton.com>
Tue, 24 Mar 2015 21:55:15 +0000 (14:55 -0700)
commiteb2f1d925ffdb79d45c7b74cef549e54533c3951
treea517d12dbb1458f49e21ae40e026d699576dce92
parented810385045ab0db90303574ba3ea47dfa2a36d5
rustc: Add support for `extern crate foo as bar`

The compiler will now issue a warning for crates that have syntax of the form
`extern crate "foo" as bar`, but it will still continue to accept this syntax.
Additionally, the string `foo-bar` will match the crate name `foo_bar` to assist
in the transition period as well.

This patch will land hopefully in tandem with a Cargo patch that will start
translating all crate names to have underscores instead of hyphens.

cc #23533
82 files changed:
src/librustc/metadata/creader.rs
src/librustc_trans/save/mod.rs
src/librustdoc/visit_ast.rs
src/libsyntax/ast.rs
src/libsyntax/parse/mod.rs
src/libsyntax/parse/obsolete.rs
src/libsyntax/parse/parser.rs
src/libsyntax/print/pprust.rs
src/libsyntax/std_inject.rs
src/test/auxiliary/coherence-lib.rs [deleted file]
src/test/auxiliary/coherence-orphan-lib.rs [deleted file]
src/test/auxiliary/coherence_lib.rs [new file with mode: 0644]
src/test/auxiliary/coherence_orphan_lib.rs [new file with mode: 0644]
src/test/auxiliary/issue-11680.rs [deleted file]
src/test/auxiliary/issue-12612-1.rs [deleted file]
src/test/auxiliary/issue-12612-2.rs [deleted file]
src/test/auxiliary/issue-16725.rs [deleted file]
src/test/auxiliary/issue-17718-const-privacy.rs [deleted file]
src/test/auxiliary/issue-21202.rs [deleted file]
src/test/auxiliary/issue_11680.rs [new file with mode: 0644]
src/test/auxiliary/issue_12612_1.rs [new file with mode: 0644]
src/test/auxiliary/issue_12612_2.rs [new file with mode: 0644]
src/test/auxiliary/issue_16725.rs [new file with mode: 0644]
src/test/auxiliary/issue_17718_const_privacy.rs [new file with mode: 0644]
src/test/auxiliary/issue_21202.rs [new file with mode: 0644]
src/test/auxiliary/lint-unused-extern-crate.rs [deleted file]
src/test/auxiliary/lint_unused_extern_crate.rs [new file with mode: 0644]
src/test/auxiliary/privacy-tuple-struct.rs [deleted file]
src/test/auxiliary/privacy_tuple_struct.rs [new file with mode: 0644]
src/test/auxiliary/regions-bounded-method-type-parameters-cross-crate-lib.rs [deleted file]
src/test/auxiliary/regions_bounded_method_type_parameters_cross_crate_lib.rs [new file with mode: 0644]
src/test/auxiliary/struct-field-privacy.rs [deleted file]
src/test/auxiliary/struct_field_privacy.rs [new file with mode: 0644]
src/test/auxiliary/trait-safety-lib.rs [deleted file]
src/test/auxiliary/trait_safety_lib.rs [new file with mode: 0644]
src/test/auxiliary/typeck-default-trait-impl-cross-crate-coherence-lib.rs [deleted file]
src/test/auxiliary/typeck_default_trait_impl_cross_crate_coherence_lib.rs [new file with mode: 0644]
src/test/auxiliary/unreachable-variant.rs [deleted file]
src/test/auxiliary/unreachable_variant.rs [new file with mode: 0644]
src/test/compile-fail/bad-crate-id.rs
src/test/compile-fail/bad-crate-id2.rs
src/test/compile-fail/coherence-all-remote.rs
src/test/compile-fail/coherence-bigint-param.rs
src/test/compile-fail/coherence-cow-no-cover.rs
src/test/compile-fail/coherence-lone-type-parameter.rs
src/test/compile-fail/coherence-orphan.rs
src/test/compile-fail/coherence-overlapping-pairs.rs
src/test/compile-fail/coherence-pair-covered-uncovered-1.rs
src/test/compile-fail/coherence-pair-covered-uncovered.rs
src/test/compile-fail/derive-no-std-not-supported.rs
src/test/compile-fail/issue-11680.rs
src/test/compile-fail/issue-12612.rs
src/test/compile-fail/issue-16725.rs
src/test/compile-fail/issue-17718-const-privacy.rs
src/test/compile-fail/issue-21202.rs
src/test/compile-fail/lint-unused-extern-crate.rs
src/test/compile-fail/privacy5.rs
src/test/compile-fail/regions-bounded-method-type-parameters-cross-crate.rs
src/test/compile-fail/static-array-across-crate.rs
src/test/compile-fail/struct-field-privacy.rs
src/test/compile-fail/suggest-private-fields.rs
src/test/compile-fail/trait-safety-trait-impl-cc.rs
src/test/compile-fail/typeck-default-trait-impl-cross-crate-coherence.rs
src/test/compile-fail/unreachable-variant.rs
src/test/parse-fail/bad-lit-suffixes.rs
src/test/parse-fail/extern-crate-as-no-string-help.rs [deleted file]
src/test/parse-fail/extern-foreign-crate.rs
src/test/pretty/issue-4264.pp
src/test/pretty/raw-str-nonexpr.rs
src/test/run-make/weird-output-filenames/Makefile
src/test/run-pass/coherence-bigint-int.rs
src/test/run-pass/coherence-bigint-vecint.rs
src/test/run-pass/coherence-blanket.rs
src/test/run-pass/coherence-covered-type-parameter.rs
src/test/run-pass/coherence-cow-1.rs
src/test/run-pass/coherence-cow-2.rs
src/test/run-pass/coherence-iterator-vec-any-elem.rs
src/test/run-pass/coherence-iterator-vec.rs
src/test/run-pass/coherence-local-1.rs
src/test/run-pass/coherence-local-2.rs
src/test/run-pass/issue-12612.rs
src/test/run-pass/trait-safety-ok-cc.rs