// 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() {}