error: unexpected token: `...`
  --> $DIR/range_inclusive_dotdotdot.rs:6:12
   |
LL |     return ...1;
   |            ^^^
   |
help: use `..` for an exclusive range
   |
LL -     return ...1;
LL +     return ..1;
   |
help: or `..=` for an inclusive range
   |
LL -     return ...1;
LL +     return ..=1;
   |

error: unexpected token: `...`
  --> $DIR/range_inclusive_dotdotdot.rs:12:13
   |
LL |     let x = ...0;
   |             ^^^
   |
help: use `..` for an exclusive range
   |
LL -     let x = ...0;
LL +     let x = ..0;
   |
help: or `..=` for an inclusive range
   |
LL -     let x = ...0;
LL +     let x = ..=0;
   |

error: unexpected token: `...`
  --> $DIR/range_inclusive_dotdotdot.rs:16:14
   |
LL |     let x = 5...5;
   |              ^^^
   |
help: use `..` for an exclusive range
   |
LL -     let x = 5...5;
LL +     let x = 5..5;
   |
help: or `..=` for an inclusive range
   |
LL -     let x = 5...5;
LL +     let x = 5..=5;
   |

error: unexpected token: `...`
  --> $DIR/range_inclusive_dotdotdot.rs:20:15
   |
LL |     for _ in 0...1 {}
   |               ^^^
   |
help: use `..` for an exclusive range
   |
LL -     for _ in 0...1 {}
LL +     for _ in 0..1 {}
   |
help: or `..=` for an inclusive range
   |
LL -     for _ in 0...1 {}
LL +     for _ in 0..=1 {}
   |

error: aborting due to 4 previous errors

