tests: add test for #61019's current behaviour
This commit adds a test for #61019 where a extern crate is imported as `std` which results in name resolution to fail due to the uses of `std` types introduced from lowering. Signed-off-by: David Wood <david@davidtw.co>
This commit is contained in:
parent
764dc3dc2f
commit
734441c1ae
2 changed files with 90 additions and 0 deletions
41
src/test/ui/hygiene/hir-res-hygiene.rs
Normal file
41
src/test/ui/hygiene/hir-res-hygiene.rs
Normal file
|
@ -0,0 +1,41 @@
|
|||
//~ ERROR failed to resolve: could not find `future` in `std` [E0433]
|
||||
//~^ ERROR failed to resolve: could not find `pin` in `std` [E0433]
|
||||
//~^^ ERROR failed to resolve: could not find `future` in `std` [E0433]
|
||||
//~^^^ ERROR failed to resolve: could not find `future` in `std` [E0433]
|
||||
//~^^^^ ERROR failed to resolve: could not find `task` in `std` [E0433]
|
||||
//~^^^^^ ERROR failed to resolve: could not find `task` in `std` [E0433]
|
||||
//~^^^^^^ ERROR failed to resolve: could not find `future` in `std` [E0433]
|
||||
//~^^^^^^^ ERROR failed to resolve: could not find `future` in `std` [E0433]
|
||||
//~^^^^^^^^ ERROR failed to resolve: could not find `ops` in `std` [E0433]
|
||||
//~^^^^^^^^^ ERROR failed to resolve: could not find `option` in `std` [E0433]
|
||||
//~^^^^^^^^^^ ERROR failed to resolve: could not find `option` in `std` [E0433]
|
||||
//~^^^^^^^^^^^ ERROR failed to resolve: could not find `iter` in `std` [E0433]
|
||||
//~^^^^^^^^^^^^ ERROR failed to resolve: could not find `iter` in `std` [E0433]
|
||||
//~^^^^^^^^^^^^^ ERROR failed to resolve: could not find `ops` in `std` [E0433]
|
||||
//~^^^^^^^^^^^^^^ ERROR failed to resolve: could not find `option` in `std` [E0433]
|
||||
//~^^^^^^^^^^^^^^^ ERROR failed to resolve: could not find `option` in `std` [E0433]
|
||||
//~^^^^^^^^^^^^^^^^ ERROR failed to resolve: could not find `iter` in `std` [E0433]
|
||||
//~^^^^^^^^^^^^^^^^^ ERROR failed to resolve: could not find `iter` in `std` [E0433]
|
||||
//~^^^^^^^^^^^^^^^^^^ ERROR failed to resolve: could not find `ops` in `std` [E0433]
|
||||
//~^^^^^^^^^^^^^^^^^^^ ERROR failed to resolve: could not find `result` in `std` [E0433]
|
||||
//~^^^^^^^^^^^^^^^^^^^^ ERROR failed to resolve: could not find `convert` in `std` [E0433]
|
||||
//~^^^^^^^^^^^^^^^^^^^^^ ERROR failed to resolve: could not find `ops` in `std` [E0433]
|
||||
//~^^^^^^^^^^^^^^^^^^^^^^ ERROR failed to resolve: could not find `result` in `std` [E0433]
|
||||
|
||||
// edition:2018
|
||||
// aux-build:not-libstd.rs
|
||||
|
||||
// Check that paths created in HIR are not affected by in scope names.
|
||||
|
||||
extern crate not_libstd as std;
|
||||
|
||||
async fn the_future() {
|
||||
async {}.await;
|
||||
}
|
||||
|
||||
fn main() -> Result<(), ()> {
|
||||
for i in 0..10 {}
|
||||
for j in 0..=10 {}
|
||||
Ok(())?;
|
||||
Ok(())
|
||||
}
|
49
src/test/ui/hygiene/hir-res-hygiene.stderr
Normal file
49
src/test/ui/hygiene/hir-res-hygiene.stderr
Normal file
|
@ -0,0 +1,49 @@
|
|||
error[E0433]: failed to resolve: could not find `future` in `std`
|
||||
|
||||
error[E0433]: failed to resolve: could not find `pin` in `std`
|
||||
|
||||
error[E0433]: failed to resolve: could not find `future` in `std`
|
||||
|
||||
error[E0433]: failed to resolve: could not find `future` in `std`
|
||||
|
||||
error[E0433]: failed to resolve: could not find `task` in `std`
|
||||
|
||||
error[E0433]: failed to resolve: could not find `task` in `std`
|
||||
|
||||
error[E0433]: failed to resolve: could not find `future` in `std`
|
||||
|
||||
error[E0433]: failed to resolve: could not find `future` in `std`
|
||||
|
||||
error[E0433]: failed to resolve: could not find `ops` in `std`
|
||||
|
||||
error[E0433]: failed to resolve: could not find `option` in `std`
|
||||
|
||||
error[E0433]: failed to resolve: could not find `option` in `std`
|
||||
|
||||
error[E0433]: failed to resolve: could not find `iter` in `std`
|
||||
|
||||
error[E0433]: failed to resolve: could not find `iter` in `std`
|
||||
|
||||
error[E0433]: failed to resolve: could not find `ops` in `std`
|
||||
|
||||
error[E0433]: failed to resolve: could not find `option` in `std`
|
||||
|
||||
error[E0433]: failed to resolve: could not find `option` in `std`
|
||||
|
||||
error[E0433]: failed to resolve: could not find `iter` in `std`
|
||||
|
||||
error[E0433]: failed to resolve: could not find `iter` in `std`
|
||||
|
||||
error[E0433]: failed to resolve: could not find `ops` in `std`
|
||||
|
||||
error[E0433]: failed to resolve: could not find `result` in `std`
|
||||
|
||||
error[E0433]: failed to resolve: could not find `convert` in `std`
|
||||
|
||||
error[E0433]: failed to resolve: could not find `ops` in `std`
|
||||
|
||||
error[E0433]: failed to resolve: could not find `result` in `std`
|
||||
|
||||
error: aborting due to 23 previous errors
|
||||
|
||||
For more information about this error, try `rustc --explain E0433`.
|
Loading…
Add table
Add a link
Reference in a new issue