The following code ``` Rust trait Tr {} struct S<'a>(&'a 'static+Tr); ``` gives the following weird error ``` <anon>:2:18: 2:25 error: expected type, found token LIFETIME(ast::Ident{name: ast::Name(3u32), ctxt: 0u32}) <anon>:2 struct S<'a>(&'a 'static+Tr); ``` If you write the bounds in the reverse order ``` Rust trait Tr {} struct S<'a>(&'a Tr+'static); ``` It works.