rust/tests/ui/consts/static-default-lifetime/static-trait-impl.rs

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

34 lines
780 B
Rust
Raw Permalink Normal View History

2024-06-14 00:33:43 +00:00
#![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
2024-06-14 00:33:43 +00:00
}
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
}
""
};
}
2024-06-14 00:33:43 +00:00
fn main() {}