| #![allow(unexpected_cfgs)] // since we want to recognize them as unexpected |
| |
| pub mod inner { |
| #[cfg(FALSE)] //~ NOTE the item is gated here |
| pub fn uwu() {} |
| //~^ NOTE found an item that was configured out |
| |
| #[cfg(FALSE)] //~ NOTE the item is gated here |
| //~^ NOTE the item is gated here |
| //~| NOTE the item is gated here |
| pub mod doesnt_exist { |
| //~^ NOTE found an item that was configured out |
| //~| NOTE found an item that was configured out |
| //~| NOTE found an item that was configured out |
| pub fn hello() {} |
| pub mod hi {} |
| } |
| |
| pub mod wrong { |
| #[cfg(feature = "suggesting me fails the test!!")] |
| pub fn meow() {} |
| } |
| |
| pub mod right { |
| #[cfg(feature = "what-a-cool-feature")] //~ NOTE the item is gated behind the `what-a-cool-feature` feature |
| pub fn meow() {} |
| //~^ NOTE found an item that was configured out |
| } |
| } |
| |
| mod placeholder { |
| use super::inner::doesnt_exist; |
| //~^ ERROR unresolved import `super::inner::doesnt_exist` |
| //~| NOTE no `doesnt_exist` in `inner` |
| use super::inner::doesnt_exist::hi; |
| //~^ ERROR unresolved import `super::inner::doesnt_exist` |
| //~| NOTE could not find `doesnt_exist` in `inner` |
| } |
| |
| #[cfg(i_dont_exist_and_you_can_do_nothing_about_it)] |
| pub fn vanished() {} |
| |
| fn main() { |
| // There is no uwu at this path - no diagnostic. |
| uwu(); //~ ERROR cannot find function |
| //~^ NOTE not found in this scope |
| |
| // It does exist here - diagnostic. |
| inner::uwu(); //~ ERROR cannot find function |
| //~| NOTE not found in `inner` |
| |
| // The module isn't found - we would like to get a diagnostic, but currently don't due to |
| // the awkward way the resolver diagnostics are currently implemented. |
| inner::doesnt_exist::hello(); //~ ERROR failed to resolve |
| //~| NOTE could not find `doesnt_exist` in `inner` |
| |
| // It should find the one in the right module, not the wrong one. |
| inner::right::meow(); //~ ERROR cannot find function |
| //~| NOTE not found in `inner::right |
| |
| // Exists in the crate root - we would generally want a diagnostic, |
| // but currently don't have one. |
| // Not that it matters much though, this is highly unlikely to confuse anyone. |
| vanished(); //~ ERROR cannot find function |
| //~^ NOTE not found in this scope |
| } |