warning: trait bound i32: Foo does not depend on any type or lifetime parameters
  --> $DIR/trivial-bounds-inconsistent.rs:14:19
   |
LL | enum E where i32: Foo { V }
   |                   ^^^
   |
   = note: `#[warn(trivial_bounds)]` on by default

warning: trait bound i32: Foo does not depend on any type or lifetime parameters
  --> $DIR/trivial-bounds-inconsistent.rs:16:21
   |
LL | struct S where i32: Foo;
   |                     ^^^

warning: trait bound i32: Foo does not depend on any type or lifetime parameters
  --> $DIR/trivial-bounds-inconsistent.rs:18:20
   |
LL | trait T where i32: Foo {}
   |                    ^^^

warning: trait bound i32: Foo does not depend on any type or lifetime parameters
  --> $DIR/trivial-bounds-inconsistent.rs:20:20
   |
LL | union U where i32: Foo { f: i32 }
   |                    ^^^

warning: where clauses are not enforced in type aliases
  --> $DIR/trivial-bounds-inconsistent.rs:22:14
   |
LL | type Y where i32: Foo = ();
   |              ^^^^^^^^
   |
   = note: `#[warn(type_alias_bounds)]` on by default
help: the clause will not be checked when the type alias is used, and should be removed
   |
LL - type Y where i32: Foo = ();
LL + type Y  = ();
   | 

warning: trait bound i32: Foo does not depend on any type or lifetime parameters
  --> $DIR/trivial-bounds-inconsistent.rs:22:19
   |
LL | type Y where i32: Foo = ();
   |                   ^^^

warning: trait bound i32: Foo does not depend on any type or lifetime parameters
  --> $DIR/trivial-bounds-inconsistent.rs:26:28
   |
LL | impl Foo for () where i32: Foo {
   |                            ^^^

warning: trait bound i32: Foo does not depend on any type or lifetime parameters
  --> $DIR/trivial-bounds-inconsistent.rs:34:19
   |
LL | fn f() where i32: Foo {
   |                   ^^^

warning: trait bound &'static str: Foo does not depend on any type or lifetime parameters
  --> $DIR/trivial-bounds-inconsistent.rs:41:28
   |
LL | fn g() where &'static str: Foo {
   |                            ^^^

warning: trait bound str: Sized does not depend on any type or lifetime parameters
  --> $DIR/trivial-bounds-inconsistent.rs:55:37
   |
LL | struct TwoStrs(str, str) where str: Sized;
   |                                     ^^^^^

warning: trait bound for<'a> Dst<(dyn A + 'a)>: Sized does not depend on any type or lifetime parameters
  --> $DIR/trivial-bounds-inconsistent.rs:57:51
   |
LL | fn unsized_local() where for<'a> Dst<dyn A + 'a>: Sized {
   |                                                   ^^^^^

warning: trait bound str: Sized does not depend on any type or lifetime parameters
  --> $DIR/trivial-bounds-inconsistent.rs:61:35
   |
LL | fn return_str() -> str where str: Sized {
   |                                   ^^^^^

warning: trait bound String: Neg does not depend on any type or lifetime parameters
  --> $DIR/trivial-bounds-inconsistent.rs:65:46
   |
LL | fn use_op(s: String) -> String where String: ::std::ops::Neg<Output=String> {
   |                                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: trait bound i32: Iterator does not depend on any type or lifetime parameters
  --> $DIR/trivial-bounds-inconsistent.rs:70:25
   |
LL | fn use_for() where i32: Iterator {
   |                         ^^^^^^^^

warning: 14 warnings emitted

