error: lifetime bounds may not be parenthesized --> $DIR/trait-object-lifetime-parens.rs:9:21 | LL | fn f<'a, T: Trait + ('a)>() {} | ^^^^ | help: remove the parentheses | LL - fn f<'a, T: Trait + ('a)>() {} LL + fn f<'a, T: Trait + 'a>() {} | error: lifetime bounds may not be parenthesized --> $DIR/trait-object-lifetime-parens.rs:12:24 | LL | let _: Box; | ^^^^ | help: remove the parentheses | LL - let _: Box; LL + let _: Box; | error: expected type, found lifetime --> $DIR/trait-object-lifetime-parens.rs:16:17 | LL | let _: Box<('a) + Trait>; | ^^ expected type error[E0178]: expected a path on the left-hand side of `+` --> $DIR/trait-object-lifetime-parens.rs:16:16 | LL | let _: Box<('a) + Trait>; | ^^^^ expected a path error[E0782]: expected a type, found a trait --> $DIR/trait-object-lifetime-parens.rs:12:16 | LL | let _: Box; | ^^^^^^^^^^^^ | help: you can add the `dyn` keyword if you want a trait object | LL | let _: Box; | +++ error: aborting due to 5 previous errors Some errors have detailed explanations: E0178, E0782. For more information about an error, try `rustc --explain E0178`.