fn function_call_parameter_hint() {
check_params(
r#"
-enum Option<T> { None, Some(T) }
-use Option::*;
-
+//- minicore: option
struct FileId {}
struct SmolStr {}
check_types(
r#"
//- minicore: fn, sized
-
fn foo() -> impl Fn() { loop {} }
fn foo1() -> impl Fn(f64) { loop {} }
fn foo2() -> impl Fn(f64, f64) { loop {} }
fn if_expr() {
check_types(
r#"
-enum Option<T> { None, Some(T) }
-use Option::*;
-
+//- minicore: option
struct Test { a: Option<u32>, b: u8 }
fn main() {
fn while_expr() {
check_types(
r#"
-enum Option<T> { None, Some(T) }
-use Option::*;
-
+//- minicore: option
struct Test { a: Option<u32>, b: u8 }
fn main() {
fn match_arm_list() {
check_types(
r#"
-enum Option<T> { None, Some(T) }
-use Option::*;
-
+//- minicore: option
struct Test { a: Option<u32>, b: u8 }
fn main() {
check_edit(
"ifl",
r#"
-enum Option<T> { Some(T), None }
-
+//- minicore: option
fn main() {
- let bar = &Option::Some(true);
+ let bar = &Some(true);
bar.$0
}
"#,
r#"
-enum Option<T> { Some(T), None }
-
fn main() {
- let bar = &Option::Some(true);
+ let bar = &Some(true);
if let Some($1) = bar {
$0
}