mirror of
https://github.com/rust-lang/rust
synced 2024-11-05 20:45:15 +00:00
26 lines
458 B
Rust
26 lines
458 B
Rust
use std::fmt;
|
|
|
|
pub trait MethodType {
|
|
type GetProp: ?Sized;
|
|
}
|
|
|
|
pub struct MTFn;
|
|
|
|
impl<'a> MethodType for MTFn { //~ ERROR E0207
|
|
type GetProp = dyn fmt::Debug + 'a;
|
|
}
|
|
|
|
fn bad(a: Box<<MTFn as MethodType>::GetProp>) -> Box<dyn fmt::Debug+'static> {
|
|
a
|
|
}
|
|
|
|
fn dangling(a: &str) -> Box<dyn fmt::Debug> {
|
|
bad(Box::new(a))
|
|
}
|
|
|
|
fn main() {
|
|
let mut s = "hello".to_string();
|
|
let x = dangling(&s);
|
|
s = String::new();
|
|
println!("{:?}", x);
|
|
}
|