blob: f76ace06a762d4d672aaf52b995e0663cc4f0aa6 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
pub mod inner {
#[cfg(FALSE)]
pub fn uwu() {}
//~^ NOTE found an item that was configured out
#[cfg(FALSE)]
pub mod doesnt_exist {
pub fn hello() {}
}
pub mod wrong {
#[cfg(feature = "suggesting me fails the test!!")]
pub fn meow() {}
}
pub mod right {
#[cfg(feature = "what-a-cool-feature")]
pub fn meow() {}
//~^ NOTE found an item that was configured out
}
}
#[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.
// FIXME(Nilstrieb): Also add a note to the cfg diagnostic here
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
//~| NOTE the item is gated behind the `what-a-cool-feature` feature
// 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
}
|