diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-17 12:02:58 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-17 12:02:58 +0000 |
commit | 698f8c2f01ea549d77d7dc3338a12e04c11057b9 (patch) | |
tree | 173a775858bd501c378080a10dca74132f05bc50 /src/test/ui/rust-2018/remove-extern-crate.rs | |
parent | Initial commit. (diff) | |
download | rustc-698f8c2f01ea549d77d7dc3338a12e04c11057b9.tar.xz rustc-698f8c2f01ea549d77d7dc3338a12e04c11057b9.zip |
Adding upstream version 1.64.0+dfsg1.upstream/1.64.0+dfsg1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/test/ui/rust-2018/remove-extern-crate.rs')
-rw-r--r-- | src/test/ui/rust-2018/remove-extern-crate.rs | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/src/test/ui/rust-2018/remove-extern-crate.rs b/src/test/ui/rust-2018/remove-extern-crate.rs new file mode 100644 index 000000000..bbb84cd46 --- /dev/null +++ b/src/test/ui/rust-2018/remove-extern-crate.rs @@ -0,0 +1,39 @@ +// run-rustfix +// edition:2018 +// check-pass +// aux-build:remove-extern-crate.rs +// compile-flags:--extern remove_extern_crate + +#![warn(rust_2018_idioms)] + +extern crate core; //~ WARNING unused extern crate +// Shouldn't suggest changing to `use`, as `another_name` +// would no longer be added to the prelude which could cause +// compilation errors for imports that use `another_name` in other +// modules. See #57672. +extern crate core as another_name; +use remove_extern_crate; +#[macro_use] +extern crate remove_extern_crate as something_else; + +// Shouldn't suggest changing to `use`, as the `alloc` +// crate is not in the extern prelude - see #54381. +extern crate alloc; + +fn main() { + another_name::mem::drop(3); + another::foo(); + remove_extern_crate::foo!(); + bar!(); + alloc::vec![5]; +} + +mod another { + extern crate core; //~ WARNING `extern crate` is not idiomatic + use remove_extern_crate; + + pub fn foo() { + core::mem::drop(4); + remove_extern_crate::foo!(); + } +} |