| //@ run-rustfix |
| |
| // Regression test for changes introduced while fixing #54505 |
| |
| // This test uses non-literals for Ranges |
| // (expecting no parens with borrow suggestion) |
| |
| use std::ops::RangeBounds; |
| |
| |
| // take a reference to any built-in range |
| fn take_range(_r: &impl RangeBounds<i8>) {} |
| |
| |
| fn main() { |
| take_range(&std::ops::Range { start: 0, end: 1 }); |
| //~^ ERROR mismatched types [E0308] |
| //~| HELP consider borrowing here |
| //~| SUGGESTION & |
| |
| take_range(&::std::ops::Range { start: 0, end: 1 }); |
| //~^ ERROR mismatched types [E0308] |
| //~| HELP consider borrowing here |
| //~| SUGGESTION & |
| |
| take_range(&std::ops::RangeFrom { start: 1 }); |
| //~^ ERROR mismatched types [E0308] |
| //~| HELP consider borrowing here |
| //~| SUGGESTION & |
| |
| take_range(&::std::ops::RangeFrom { start: 1 }); |
| //~^ ERROR mismatched types [E0308] |
| //~| HELP consider borrowing here |
| //~| SUGGESTION & |
| |
| take_range(&std::ops::RangeFull {}); |
| //~^ ERROR mismatched types [E0308] |
| //~| HELP consider borrowing here |
| //~| SUGGESTION & |
| |
| take_range(&::std::ops::RangeFull {}); |
| //~^ ERROR mismatched types [E0308] |
| //~| HELP consider borrowing here |
| //~| SUGGESTION & |
| |
| take_range(&std::ops::RangeInclusive::new(0, 1)); |
| //~^ ERROR mismatched types [E0308] |
| //~| HELP consider borrowing here |
| //~| SUGGESTION & |
| |
| take_range(&::std::ops::RangeInclusive::new(0, 1)); |
| //~^ ERROR mismatched types [E0308] |
| //~| HELP consider borrowing here |
| //~| SUGGESTION & |
| |
| take_range(&std::ops::RangeTo { end: 5 }); |
| //~^ ERROR mismatched types [E0308] |
| //~| HELP consider borrowing here |
| //~| SUGGESTION & |
| |
| take_range(&::std::ops::RangeTo { end: 5 }); |
| //~^ ERROR mismatched types [E0308] |
| //~| HELP consider borrowing here |
| //~| SUGGESTION & |
| |
| take_range(&std::ops::RangeToInclusive { end: 5 }); |
| //~^ ERROR mismatched types [E0308] |
| //~| HELP consider borrowing here |
| //~| SUGGESTION & |
| |
| take_range(&::std::ops::RangeToInclusive { end: 5 }); |
| //~^ ERROR mismatched types [E0308] |
| //~| HELP consider borrowing here |
| //~| SUGGESTION & |
| } |