16 lines
527 B
Rust
16 lines
527 B
Rust
// Detect and reject escaping late-bound generic params in
|
|
// the type of assoc consts used in an equality bound.
|
|
#![feature(associated_const_equality)]
|
|
|
|
trait Trait<'a> {
|
|
const K: &'a ();
|
|
}
|
|
|
|
fn take(_: impl for<'r> Trait<'r, K = { &() }>) {}
|
|
//~^ ERROR the type of the associated constant `K` cannot capture late-bound generic parameters
|
|
//~| NOTE its type cannot capture the late-bound lifetime parameter `'r`
|
|
//~| NOTE the late-bound lifetime parameter `'r` is defined here
|
|
//~| NOTE `K` has type `&'r ()`
|
|
|
|
fn main() {}
|