| //@ check-pass | |
| // This is another instance of the "normalizations don't work" issue with | |
| // defaulted associated types. | |
| #![feature(associated_type_defaults)] | |
| pub trait Emitter<'a> { | |
| type Ctxt: 'a; | |
| type CtxtBrw: 'a = &'a Self::Ctxt; | |
| fn get_cx(&'a self) -> Self::CtxtBrw; | |
| } | |
| struct MyCtxt; | |
| struct MyEmitter { | |
| ctxt: MyCtxt | |
| } | |
| impl <'a> Emitter<'a> for MyEmitter { | |
| type Ctxt = MyCtxt; | |
| fn get_cx(&'a self) -> &'a MyCtxt { | |
| &self.ctxt | |
| } | |
| } | |
| fn main() {} |