error[E0308]: mismatched types
  --> $DIR/assoc-ct-for-assoc-method.rs:11:18
   |
LL |     let x: i32 = MyS::foo;
   |            ---   ^^^^^^^^ expected `i32`, found fn item
   |            |
   |            expected due to this
   |
   = note: expected type `i32`
           found fn item `fn() -> MyS {MyS::foo}`
help: try referring to the associated const `FOO` instead
   |
LL |     let x: i32 = MyS::FOO;
   |                       ~~~

error[E0308]: mismatched types
  --> $DIR/assoc-ct-for-assoc-method.rs:15:18
   |
LL |     let z: i32 = i32::max;
   |            ---   ^^^^^^^^ expected `i32`, found fn item
   |            |
   |            expected due to this
   |
   = note: expected type `i32`
           found fn item `fn(i32, i32) -> i32 {<i32 as Ord>::max}`
help: try referring to the associated const `MAX` instead
   |
LL |     let z: i32 = i32::MAX;
   |                       ~~~

error[E0369]: cannot subtract `{integer}` from `fn(i32, i32) -> i32 {<i32 as Ord>::max}`
  --> $DIR/assoc-ct-for-assoc-method.rs:22:27
   |
LL |     let y: i32 = i32::max - 42;
   |                  -------- ^ -- {integer}
   |                  |
   |                  fn(i32, i32) -> i32 {<i32 as Ord>::max}
   |
help: use parentheses to call this method
   |
LL |     let y: i32 = i32::max(/* i32 */, /* i32 */) - 42;
   |                          ++++++++++++++++++++++

error: aborting due to 3 previous errors

Some errors have detailed explanations: E0308, E0369.
For more information about an error, try `rustc --explain E0308`.