blob: 85746df146fc7ba57c7dbe77cc9a30862772d919 (
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
|
#![deny(elided_lifetimes_in_associated_constant)]
trait Bar<'a> {
const STATIC: &'a str;
}
struct A;
impl Bar<'_> for A {
const STATIC: &str = "";
//~^ ERROR `&` without an explicit lifetime name cannot be used here
//~| WARN this was previously accepted by the compiler but is being phased out
//~| ERROR lifetime parameters or bounds on associated const `STATIC` do not match the trait declaration
}
struct B;
impl Bar<'static> for B {
const STATIC: &str = "";
}
struct C;
impl Bar<'_> for C {
// make ^^ not cause
const STATIC: &'static str = {
struct B;
impl Bar<'static> for B {
const STATIC: &str = "";
// ^ to emit a future incompat warning
}
""
};
}
fn main() {}
|