mirror of
https://github.com/rust-lang/rust.git
synced 2026-05-29 20:46:07 +03:00
Failing tests for "consider borrowing"
This commit is contained in:
@@ -0,0 +1,9 @@
|
||||
fn main() {
|
||||
let x = if true {
|
||||
&true
|
||||
} else if false { //~ ERROR `if` and `else` have incompatible types [E0308]
|
||||
true //~ HELP consider borrowing here
|
||||
} else {
|
||||
true
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
error[E0308]: `if` and `else` have incompatible types
|
||||
--> $DIR/consider-borrowing-141810-1.rs:4:12
|
||||
|
|
||||
LL | let x = if true {
|
||||
| ______________-
|
||||
LL | | &true
|
||||
| | ----- expected because of this
|
||||
LL | | } else if false {
|
||||
| | ____________^
|
||||
LL | || true
|
||||
LL | || } else {
|
||||
LL | || true
|
||||
LL | || };
|
||||
| || ^
|
||||
| ||_____|
|
||||
| |_____`if` and `else` have incompatible types
|
||||
| expected `&bool`, found `bool`
|
||||
|
|
||||
help: consider borrowing here
|
||||
|
|
||||
LL | } else &if false {
|
||||
| +
|
||||
|
||||
error: aborting due to 1 previous error
|
||||
|
||||
For more information about this error, try `rustc --explain E0308`.
|
||||
@@ -0,0 +1,8 @@
|
||||
fn main() {
|
||||
let x = if true {
|
||||
&()
|
||||
} else if false { //~ ERROR `if` and `else` have incompatible types [E0308]
|
||||
} else {
|
||||
};
|
||||
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
error[E0308]: `if` and `else` have incompatible types
|
||||
--> $DIR/consider-borrowing-141810-2.rs:4:12
|
||||
|
|
||||
LL | let x = if true {
|
||||
| ______________-
|
||||
LL | | &()
|
||||
| | --- expected because of this
|
||||
LL | | } else if false {
|
||||
| | ____________^
|
||||
LL | || } else {
|
||||
LL | || };
|
||||
| || ^
|
||||
| ||_____|
|
||||
| |_____`if` and `else` have incompatible types
|
||||
| expected `&()`, found `()`
|
||||
|
|
||||
help: consider borrowing here
|
||||
|
|
||||
LL | } else &if false {
|
||||
| +
|
||||
|
||||
error: aborting due to 1 previous error
|
||||
|
||||
For more information about this error, try `rustc --explain E0308`.
|
||||
@@ -0,0 +1,7 @@
|
||||
fn main() {
|
||||
let x = if true {
|
||||
&()
|
||||
} else if false { //~ ERROR `if` and `else` have incompatible types [E0308]
|
||||
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
error[E0308]: `if` and `else` have incompatible types
|
||||
--> $DIR/consider-borrowing-141810-3.rs:4:12
|
||||
|
|
||||
LL | let x = if true {
|
||||
| ______________-
|
||||
LL | | &()
|
||||
| | --- expected because of this
|
||||
LL | | } else if false {
|
||||
| | ____________^
|
||||
LL | ||
|
||||
LL | || };
|
||||
| || ^
|
||||
| ||_____|
|
||||
| |_____`if` and `else` have incompatible types
|
||||
| expected `&()`, found `()`
|
||||
|
|
||||
= note: `if` expressions without `else` evaluate to `()`
|
||||
= note: consider adding an `else` block that evaluates to the expected type
|
||||
help: consider borrowing here
|
||||
|
|
||||
LL | } else &if false {
|
||||
| +
|
||||
|
||||
error: aborting due to 1 previous error
|
||||
|
||||
For more information about this error, try `rustc --explain E0308`.
|
||||
@@ -0,0 +1,11 @@
|
||||
fn baz(x: &String) {}
|
||||
|
||||
fn bar() {
|
||||
baz({
|
||||
String::from("hi") //~ ERROR mismatched types
|
||||
});
|
||||
}
|
||||
|
||||
fn main() {
|
||||
bar();
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
error[E0308]: mismatched types
|
||||
--> $DIR/consider-borrowing-141810-4.rs:5:9
|
||||
|
|
||||
LL | String::from("hi")
|
||||
| ^^^^^^^^^^^^^^^^^^ expected `&String`, found `String`
|
||||
|
|
||||
help: consider borrowing here
|
||||
|
|
||||
LL | &String::from("hi")
|
||||
| +
|
||||
|
||||
error: aborting due to 1 previous error
|
||||
|
||||
For more information about this error, try `rustc --explain E0308`.
|
||||
Reference in New Issue
Block a user