| 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); | |
| } |