1
Fork 0

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:
David Wood 2020-08-04 10:47:07 +01:00
parent 764dc3dc2f
commit 734441c1ae
No known key found for this signature in database
GPG key ID: 2592E76C87381FD9
2 changed files with 90 additions and 0 deletions

View 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(())
}

View 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`.