2018-09-29 09:13:08 -05:00
|
|
|
// Regression test for #54505 - range borrowing suggestion had
|
|
|
|
// incorrect syntax (missing parentheses).
|
|
|
|
|
|
|
|
// This test doesn't use std
|
|
|
|
// (so all Ranges resolve to core::ops::Range...)
|
|
|
|
|
|
|
|
#![no_std]
|
2018-10-08 11:39:09 -05:00
|
|
|
#![feature(lang_items)]
|
2018-09-29 09:13:08 -05:00
|
|
|
|
|
|
|
use core::ops::RangeBounds;
|
|
|
|
|
2018-11-08 10:18:21 -06:00
|
|
|
#[cfg(any(not(target_arch = "wasm32"), target_os = "emscripten"))]
|
2018-10-08 11:39:09 -05:00
|
|
|
#[lang = "eh_personality"]
|
2020-09-01 16:28:11 -05:00
|
|
|
extern "C" fn eh_personality() {}
|
2020-03-21 02:50:38 -05:00
|
|
|
#[cfg(target_os = "emscripten")]
|
|
|
|
#[lang = "eh_catch_typeinfo"]
|
|
|
|
static EH_CATCH_TYPEINFO: u8 = 0;
|
2018-10-08 11:39:09 -05:00
|
|
|
|
2022-11-06 10:28:07 -06:00
|
|
|
#[panic_handler]
|
2023-09-17 13:13:05 -05:00
|
|
|
fn panic_handler(_: &core::panic::PanicInfo) -> ! {
|
|
|
|
unimplemented!();
|
|
|
|
}
|
2018-09-29 09:13:08 -05:00
|
|
|
|
|
|
|
// take a reference to any built-in range
|
|
|
|
fn take_range(_r: &impl RangeBounds<i8>) {}
|
|
|
|
|
|
|
|
|
|
|
|
fn main() {
|
|
|
|
take_range(0..1);
|
|
|
|
//~^ ERROR mismatched types [E0308]
|
|
|
|
//~| HELP consider borrowing here
|
2023-04-18 18:45:49 -05:00
|
|
|
//~| SUGGESTION &(
|
2018-09-29 09:13:08 -05:00
|
|
|
|
|
|
|
take_range(1..);
|
|
|
|
//~^ ERROR mismatched types [E0308]
|
|
|
|
//~| HELP consider borrowing here
|
2023-04-18 18:45:49 -05:00
|
|
|
//~| SUGGESTION &(
|
2018-09-29 09:13:08 -05:00
|
|
|
|
|
|
|
take_range(..);
|
|
|
|
//~^ ERROR mismatched types [E0308]
|
|
|
|
//~| HELP consider borrowing here
|
2023-04-18 18:45:49 -05:00
|
|
|
//~| SUGGESTION &(
|
2018-09-29 09:13:08 -05:00
|
|
|
|
|
|
|
take_range(0..=1);
|
|
|
|
//~^ ERROR mismatched types [E0308]
|
|
|
|
//~| HELP consider borrowing here
|
2023-04-18 18:45:49 -05:00
|
|
|
//~| SUGGESTION &(
|
2018-09-29 09:13:08 -05:00
|
|
|
|
|
|
|
take_range(..5);
|
|
|
|
//~^ ERROR mismatched types [E0308]
|
|
|
|
//~| HELP consider borrowing here
|
2023-04-18 18:45:49 -05:00
|
|
|
//~| SUGGESTION &(
|
2018-09-29 09:13:08 -05:00
|
|
|
|
|
|
|
take_range(..=42);
|
|
|
|
//~^ ERROR mismatched types [E0308]
|
|
|
|
//~| HELP consider borrowing here
|
2023-04-18 18:45:49 -05:00
|
|
|
//~| SUGGESTION &(
|
2018-09-29 09:13:08 -05:00
|
|
|
}
|