2018-10-01 22:23:57 +00:00
|
|
|
// error-pattern: `#[panic_handler]` function required, but not found
|
2018-09-29 14:13:08 +00: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 16:39:09 +00:00
|
|
|
#![feature(lang_items)]
|
2018-09-29 14:13:08 +00:00
|
|
|
|
|
|
|
use core::ops::RangeBounds;
|
|
|
|
|
2018-11-08 16:18:21 +00:00
|
|
|
#[cfg(any(not(target_arch = "wasm32"), target_os = "emscripten"))]
|
2018-10-08 16:39:09 +00:00
|
|
|
#[lang = "eh_personality"]
|
|
|
|
extern fn eh_personality() {}
|
2020-03-21 07:50:38 +00:00
|
|
|
#[cfg(target_os = "emscripten")]
|
|
|
|
#[lang = "eh_catch_typeinfo"]
|
|
|
|
static EH_CATCH_TYPEINFO: u8 = 0;
|
2018-10-08 16:39:09 +00:00
|
|
|
|
2018-09-29 14:13:08 +00: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
|
|
|
|
//~| SUGGESTION &(0..1)
|
|
|
|
|
|
|
|
take_range(1..);
|
|
|
|
//~^ ERROR mismatched types [E0308]
|
|
|
|
//~| HELP consider borrowing here
|
|
|
|
//~| SUGGESTION &(1..)
|
|
|
|
|
|
|
|
take_range(..);
|
|
|
|
//~^ ERROR mismatched types [E0308]
|
|
|
|
//~| HELP consider borrowing here
|
|
|
|
//~| SUGGESTION &(..)
|
|
|
|
|
|
|
|
take_range(0..=1);
|
|
|
|
//~^ ERROR mismatched types [E0308]
|
|
|
|
//~| HELP consider borrowing here
|
|
|
|
//~| SUGGESTION &(0..=1)
|
|
|
|
|
|
|
|
take_range(..5);
|
|
|
|
//~^ ERROR mismatched types [E0308]
|
|
|
|
//~| HELP consider borrowing here
|
|
|
|
//~| SUGGESTION &(..5)
|
|
|
|
|
|
|
|
take_range(..=42);
|
|
|
|
//~^ ERROR mismatched types [E0308]
|
|
|
|
//~| HELP consider borrowing here
|
|
|
|
//~| SUGGESTION &(..=42)
|
|
|
|
}
|