error: `<` is interpreted as a start of generic arguments for `usize`, not a comparison
  --> $DIR/issue-22644.rs:8:31
   |
LL |     println!("{}", a as usize < long_name);
   |                    ---------- ^ --------- interpreted as generic arguments
   |                    |          |
   |                    |          not interpreted as comparison
   |                    help: try comparing the cast value: `(a as usize)`

error: `<` is interpreted as a start of generic arguments for `usize`, not a comparison
  --> $DIR/issue-22644.rs:9:33
   |
LL |     println!("{}{}", a as usize < long_name, long_name);
   |                      ---------- ^ -------------------- interpreted as generic arguments
   |                      |          |
   |                      |          not interpreted as comparison
   |                      help: try comparing the cast value: `(a as usize)`

error: `<` is interpreted as a start of generic arguments for `usize`, not a comparison
  --> $DIR/issue-22644.rs:11:31
   |
LL |     println!("{}", a as usize < 4);
   |                    ---------- ^ - interpreted as generic arguments
   |                    |          |
   |                    |          not interpreted as comparison
   |                    help: try comparing the cast value: `(a as usize)`

error: `<` is interpreted as a start of generic arguments for `usize`, not a comparison
  --> $DIR/issue-22644.rs:13:31
   |
LL |     println!("{}{}", a: usize < long_name, long_name);
   |                      -------- ^ -------------------- interpreted as generic arguments
   |                      |        |
   |                      |        not interpreted as comparison
   |                      help: try comparing the cast value: `(a: usize)`

error: `<` is interpreted as a start of generic arguments for `usize`, not a comparison
  --> $DIR/issue-22644.rs:15:29
   |
LL |     println!("{}", a: usize < 4);
   |                    -------- ^ - interpreted as generic arguments
   |                    |        |
   |                    |        not interpreted as comparison
   |                    help: try comparing the cast value: `(a: usize)`

error: `<` is interpreted as a start of generic arguments for `usize`, not a comparison
  --> $DIR/issue-22644.rs:20:20
   |
LL |                    <
   |                    ^ not interpreted as comparison
LL |                    4);
   |                    - interpreted as generic arguments
   |
help: try comparing the cast value
   |
LL |     println!("{}", (a
LL |                    as
LL |                    usize)
   |

error: `<` is interpreted as a start of generic arguments for `usize`, not a comparison
  --> $DIR/issue-22644.rs:29:20
   |
LL |                    <
   |                    ^ not interpreted as comparison
LL |                    5);
   |                    - interpreted as generic arguments
   |
help: try comparing the cast value
   |
LL |     println!("{}", (a
LL | 
LL | 
LL |                    as
LL | 
LL | 
 ...

error: `<` is interpreted as a start of generic arguments for `usize`, not a shift
  --> $DIR/issue-22644.rs:32:31
   |
LL |     println!("{}", a as usize << long_name);
   |                    ---------- ^^ --------- interpreted as generic arguments
   |                    |          |
   |                    |          not interpreted as shift
   |                    help: try shifting the cast value: `(a as usize)`

error: expected type, found `4`
  --> $DIR/issue-22644.rs:34:28
   |
LL |     println!("{}", a: &mut 4);
   |                     -      ^ expected type
   |                     |
   |                     tried to parse a type due to this type ascription
   |
   = note: `#![feature(type_ascription)]` lets you annotate an expression with a type: `<expr>: <type>`
   = note: for more information, see https://github.com/rust-lang/rust/issues/23416

error: aborting due to 9 previous errors

