Add backticks to various diagnostics

This commit is contained in:
varkor 2020-01-05 00:17:46 +00:00
parent 760ce94c69
commit 0c2cf07d6e
64 changed files with 115 additions and 115 deletions

View File

@ -661,7 +661,7 @@ impl<'a, 'tcx> InferCtxt<'a, 'tcx> {
},
ObligationCauseCode::IfExpression(box IfExpressionCause { then, outer, semicolon }) => {
err.span_label(then, "expected because of this");
outer.map(|sp| err.span_label(sp, "if and else have incompatible types"));
outer.map(|sp| err.span_label(sp, "`if` and `else` have incompatible types"));
if let Some(sp) = semicolon {
err.span_suggestion_short(
sp,
@ -1883,13 +1883,13 @@ impl<'tcx> ObligationCause<'tcx> {
hir::MatchSource::TryDesugar => {
"try expression alternatives have incompatible types"
}
_ => "match arms have incompatible types",
_ => "`match` arms have incompatible types",
})
}
IfExpression { .. } => Error0308("if and else have incompatible types"),
IfExpressionWithNoElse => Error0317("if may be missing an else clause"),
MainFunctionType => Error0580("main function has wrong type"),
StartFunctionType => Error0308("start function has wrong type"),
IfExpression { .. } => Error0308("`if` and `else` have incompatible types"),
IfExpressionWithNoElse => Error0317("`if` may be missing an `else` clause"),
MainFunctionType => Error0580("`main` function has wrong type"),
StartFunctionType => Error0308("`#[start]` function has wrong type"),
IntrinsicType => Error0308("intrinsic has wrong type"),
MethodReceiver => Error0308("mismatched `self` parameter type"),
@ -1917,12 +1917,12 @@ impl<'tcx> ObligationCause<'tcx> {
ExprAssignable => "expression is assignable",
MatchExpressionArm(box MatchExpressionArmCause { source, .. }) => match source {
hir::MatchSource::IfLetDesugar { .. } => "`if let` arms have compatible types",
_ => "match arms have compatible types",
_ => "`match` arms have compatible types",
},
IfExpression { .. } => "if and else have incompatible types",
IfExpressionWithNoElse => "if missing an else returns ()",
IfExpression { .. } => "`if` and `else` have incompatible types",
IfExpressionWithNoElse => "`if` missing an `else` returns `()`",
MainFunctionType => "`main` function has the correct type",
StartFunctionType => "`start` function has the correct type",
StartFunctionType => "`#[start]` function has the correct type",
IntrinsicType => "intrinsic has the correct type",
MethodReceiver => "method receiver has the correct type",
_ => "types are compatible",

View File

@ -134,7 +134,7 @@ fn find_item(item: &Item<'_>, ctxt: &mut EntryContext<'_, '_>, at_root: bool) {
ctxt.start_fn = Some((item.hir_id, item.span));
} else {
struct_span_err!(ctxt.session, item.span, E0138, "multiple `start` functions")
.span_label(ctxt.start_fn.unwrap().1, "previous `start` function here")
.span_label(ctxt.start_fn.unwrap().1, "previous `#[start]` function here")
.span_label(item.span, "multiple `start` functions")
.emit();
}

View File

@ -81,7 +81,7 @@ pub fn options() -> TargetOptions {
dynamic_linking: true,
only_cdylib: true,
// This means we'll just embed a `start` function in the wasm module
// This means we'll just embed a `#[start]` function in the wasm module
executables: true,
// relatively self-explanatory!

View File

@ -298,7 +298,7 @@ impl<'a, 'tcx> FnCtxt<'a, 'tcx> {
// LL || 10u32
// || ^^^^^ expected `i32`, found `u32`
// LL || };
// ||_____- if and else have incompatible types
// ||_____- `if` and `else` have incompatible types
// ```
Some(span)
} else {
@ -340,7 +340,7 @@ impl<'a, 'tcx> FnCtxt<'a, 'tcx> {
// by not pointing at the entire expression:
// ```
// 2 | let x = if true {
// | ------- if and else have incompatible types
// | ------- `if` and `else` have incompatible types
// 3 | 3
// | - expected because of this
// 4 | } else {

View File

@ -387,8 +387,8 @@ impl<'a> Visitor<'a> for PostExpansionVisitor<'a> {
&self,
start,
i.span,
"a `#[start]` function is an experimental \
feature whose signature may change \
"`#[start]` functions are experimental \
and their signature may change \
over time"
);
}

View File

@ -1,6 +1,6 @@
// edition:2018
async fn f() -> i32 {
if true { //~ ERROR if may be missing an else clause
if true { //~ ERROR `if` may be missing an `else` clause
return 0;
}
// An `if` block without `else` causes the type table not to have a type for this expr.

View File

@ -1,4 +1,4 @@
error[E0317]: if may be missing an else clause
error[E0317]: `if` may be missing an `else` clause
--> $DIR/issue-66387-if-without-else.rs:3:5
|
LL | / if true {

View File

@ -1,6 +1,6 @@
mod m1 {}
fn main(arguments: Vec<String>) { //~ ERROR main function has wrong type
fn main(arguments: Vec<String>) { //~ ERROR `main` function has wrong type
log(debug, m1::arguments);
//~^ ERROR cannot find function `log` in this scope
//~| ERROR cannot find value `debug` in this scope

View File

@ -16,7 +16,7 @@ error[E0425]: cannot find value `arguments` in module `m1`
LL | log(debug, m1::arguments);
| ^^^^^^^^^ not found in `m1`
error[E0580]: main function has wrong type
error[E0580]: `main` function has wrong type
--> $DIR/bad-expr-path.rs:3:1
|
LL | fn main(arguments: Vec<String>) {

View File

@ -2,7 +2,7 @@ mod m1 {
pub mod arguments {}
}
fn main(arguments: Vec<String>) { //~ ERROR main function has wrong type
fn main(arguments: Vec<String>) { //~ ERROR `main` function has wrong type
log(debug, m1::arguments);
//~^ ERROR cannot find function `log` in this scope
//~| ERROR cannot find value `debug` in this scope

View File

@ -16,7 +16,7 @@ error[E0423]: expected value, found module `m1::arguments`
LL | log(debug, m1::arguments);
| ^^^^^^^^^^^^^ not a value
error[E0580]: main function has wrong type
error[E0580]: `main` function has wrong type
--> $DIR/bad-expr-path2.rs:5:1
|
LL | fn main(arguments: Vec<String>) {

View File

@ -1 +1 @@
fn main(x: isize) { } //~ ERROR: main function has wrong type [E0580]
fn main(x: isize) { } //~ ERROR: `main` function has wrong type [E0580]

View File

@ -1,4 +1,4 @@
error[E0580]: main function has wrong type
error[E0580]: `main` function has wrong type
--> $DIR/bad-main.rs:1:1
|
LL | fn main(x: isize) { }

View File

@ -1,4 +1,4 @@
error[E0317]: if may be missing an else clause
error[E0317]: `if` may be missing an `else` clause
--> $DIR/issue-50577.rs:7:16
|
LL | Drop = assert_eq!(1, 1)

View File

@ -5,7 +5,7 @@
fn main() {
enum Foo {
Drop = assert_eq!(1, 1)
//[stock,if_match]~^ ERROR if may be missing an else clause
//[stock,if_match]~^ ERROR `if` may be missing an `else` clause
//[stock]~^^ ERROR `match` is not allowed in a `const`
//[stock]~| ERROR `match` is not allowed in a `const`
//[stock]~| ERROR `if` is not allowed in a `const`

View File

@ -28,7 +28,7 @@ LL | Drop = assert_eq!(1, 1)
= help: add `#![feature(const_if_match)]` to the crate attributes to enable
= note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info)
error[E0317]: if may be missing an else clause
error[E0317]: `if` may be missing an `else` clause
--> $DIR/issue-50577.rs:7:16
|
LL | Drop = assert_eq!(1, 1)

View File

@ -2,7 +2,7 @@ error[E0138]: multiple `start` functions
--> $DIR/E0138.rs:7:1
|
LL | fn foo(argc: isize, argv: *const *const u8) -> isize { 0 }
| ---------------------------------------------------------- previous `start` function here
| ---------------------------------------------------------- previous `#[start]` function here
...
LL | fn f(argc: isize, argv: *const *const u8) -> isize { 0 }
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ multiple `start` functions

View File

@ -1 +1 @@
extern fn main() {} //~ ERROR: main function has wrong type [E0580]
extern fn main() {} //~ ERROR: `main` function has wrong type [E0580]

View File

@ -1,4 +1,4 @@
error[E0580]: main function has wrong type
error[E0580]: `main` function has wrong type
--> $DIR/extern-main-fn.rs:1:1
|
LL | extern fn main() {}

View File

@ -1,3 +1,3 @@
#[start]
fn foo(_: isize, _: *const *const u8) -> isize { 0 }
//~^ ERROR a `#[start]` function is an experimental feature
//~^ ERROR `#[start]` functions are experimental

View File

@ -1,4 +1,4 @@
error[E0658]: a `#[start]` function is an experimental feature whose signature may change over time
error[E0658]: `#[start]` functions are experimental and their signature may change over time
--> $DIR/feature-gate-start.rs:2:1
|
LL | fn foo(_: isize, _: *const *const u8) -> isize { 0 }

View File

@ -4,43 +4,43 @@ fn main() {
} else {
2u32
};
//~^^ ERROR if and else have incompatible types
//~^^ ERROR `if` and `else` have incompatible types
let _ = if true { 42i32 } else { 42u32 };
//~^ ERROR if and else have incompatible types
//~^ ERROR `if` and `else` have incompatible types
let _ = if true {
3u32;
} else {
4u32
};
//~^^ ERROR if and else have incompatible types
//~^^ ERROR `if` and `else` have incompatible types
let _ = if true {
5u32
} else {
6u32;
};
//~^^ ERROR if and else have incompatible types
//~^^ ERROR `if` and `else` have incompatible types
let _ = if true {
7i32;
} else {
8u32
};
//~^^ ERROR if and else have incompatible types
//~^^ ERROR `if` and `else` have incompatible types
let _ = if true {
9i32
} else {
10u32;
};
//~^^ ERROR if and else have incompatible types
//~^^ ERROR `if` and `else` have incompatible types
let _ = if true {
} else {
11u32
};
//~^^ ERROR if and else have incompatible types
//~^^ ERROR `if` and `else` have incompatible types
let _ = if true {
12i32
} else {
};
//~^^^ ERROR if and else have incompatible types
//~^^^ ERROR `if` and `else` have incompatible types
}

View File

@ -1,4 +1,4 @@
error[E0308]: if and else have incompatible types
error[E0308]: `if` and `else` have incompatible types
--> $DIR/if-else-type-mismatch.rs:5:9
|
LL | let _ = if true {
@ -9,9 +9,9 @@ LL | | } else {
LL | | 2u32
| | ^^^^ expected `i32`, found `u32`
LL | | };
| |_____- if and else have incompatible types
| |_____- `if` and `else` have incompatible types
error[E0308]: if and else have incompatible types
error[E0308]: `if` and `else` have incompatible types
--> $DIR/if-else-type-mismatch.rs:8:38
|
LL | let _ = if true { 42i32 } else { 42u32 };
@ -19,7 +19,7 @@ LL | let _ = if true { 42i32 } else { 42u32 };
| |
| expected because of this
error[E0308]: if and else have incompatible types
error[E0308]: `if` and `else` have incompatible types
--> $DIR/if-else-type-mismatch.rs:13:9
|
LL | let _ = if true {
@ -33,9 +33,9 @@ LL | | } else {
LL | | 4u32
| | ^^^^ expected `()`, found `u32`
LL | | };
| |_____- if and else have incompatible types
| |_____- `if` and `else` have incompatible types
error[E0308]: if and else have incompatible types
error[E0308]: `if` and `else` have incompatible types
--> $DIR/if-else-type-mismatch.rs:19:9
|
LL | let _ = if true {
@ -49,9 +49,9 @@ LL | | 6u32;
| | | help: consider removing this semicolon
| | expected `u32`, found `()`
LL | | };
| |_____- if and else have incompatible types
| |_____- `if` and `else` have incompatible types
error[E0308]: if and else have incompatible types
error[E0308]: `if` and `else` have incompatible types
--> $DIR/if-else-type-mismatch.rs:25:9
|
LL | let _ = if true {
@ -62,9 +62,9 @@ LL | | } else {
LL | | 8u32
| | ^^^^ expected `()`, found `u32`
LL | | };
| |_____- if and else have incompatible types
| |_____- `if` and `else` have incompatible types
error[E0308]: if and else have incompatible types
error[E0308]: `if` and `else` have incompatible types
--> $DIR/if-else-type-mismatch.rs:31:9
|
LL | let _ = if true {
@ -75,9 +75,9 @@ LL | | } else {
LL | | 10u32;
| | ^^^^^^ expected `i32`, found `()`
LL | | };
| |_____- if and else have incompatible types
| |_____- `if` and `else` have incompatible types
error[E0308]: if and else have incompatible types
error[E0308]: `if` and `else` have incompatible types
--> $DIR/if-else-type-mismatch.rs:37:9
|
LL | let _ = if true {
@ -88,11 +88,11 @@ LL | | } else {
LL | 11u32
| ^^^^^ expected `()`, found `u32`
error[E0308]: if and else have incompatible types
error[E0308]: `if` and `else` have incompatible types
--> $DIR/if-else-type-mismatch.rs:42:12
|
LL | let _ = if true {
| ------- if and else have incompatible types
| ------- `if` and `else` have incompatible types
LL | 12i32
| ----- expected because of this
LL | } else {

View File

@ -1,5 +1,5 @@
fn main() {
let x = if true { 10i32 } else { 10u32 };
//~^ ERROR if and else have incompatible types
//~^ ERROR `if` and `else` have incompatible types
//~| expected `i32`, found `u32`
}

View File

@ -1,4 +1,4 @@
error[E0308]: if and else have incompatible types
error[E0308]: `if` and `else` have incompatible types
--> $DIR/if-branch-types.rs:2:38
|
LL | let x = if true { 10i32 } else { 10u32 };

View File

@ -1,11 +1,11 @@
fn main() {
if let Some(b) = None {
//~^ NOTE if and else have incompatible types
//~^ NOTE `if` and `else` have incompatible types
()
//~^ NOTE expected because of this
} else {
1
};
//~^^ ERROR: if and else have incompatible types
//~^^ ERROR: `if` and `else` have incompatible types
//~| NOTE expected `()`, found integer
}

View File

@ -1,4 +1,4 @@
error[E0308]: if and else have incompatible types
error[E0308]: `if` and `else` have incompatible types
--> $DIR/if-let-arm-types.rs:7:9
|
LL | / if let Some(b) = None {
@ -10,7 +10,7 @@ LL | | } else {
LL | | 1
| | ^ expected `()`, found integer
LL | | };
| |_____- if and else have incompatible types
| |_____- `if` and `else` have incompatible types
error: aborting due to previous error

View File

@ -2,14 +2,14 @@ fn foo(bar: usize) -> usize {
if bar % 5 == 0 {
return 3;
}
//~^^^ ERROR if may be missing an else clause
//~^^^ ERROR `if` may be missing an `else` clause
}
fn foo2(bar: usize) -> usize {
let x: usize = if bar % 5 == 0 {
return 3;
};
//~^^^ ERROR if may be missing an else clause
//~^^^ ERROR `if` may be missing an `else` clause
x
}
@ -17,21 +17,21 @@ fn foo3(bar: usize) -> usize {
if bar % 5 == 0 {
3
}
//~^^^ ERROR if may be missing an else clause
//~^^^ ERROR `if` may be missing an `else` clause
}
fn foo_let(bar: usize) -> usize {
if let 0 = 1 {
return 3;
}
//~^^^ ERROR if may be missing an else clause
//~^^^ ERROR `if` may be missing an `else` clause
}
fn foo2_let(bar: usize) -> usize {
let x: usize = if let 0 = 1 {
return 3;
};
//~^^^ ERROR if may be missing an else clause
//~^^^ ERROR `if` may be missing an `else` clause
x
}
@ -39,7 +39,7 @@ fn foo3_let(bar: usize) -> usize {
if let 0 = 1 {
3
}
//~^^^ ERROR if may be missing an else clause
//~^^^ ERROR `if` may be missing an `else` clause
}
// FIXME(60254): deduplicate first error in favor of second.

View File

@ -1,4 +1,4 @@
error[E0317]: if may be missing an else clause
error[E0317]: `if` may be missing an `else` clause
--> $DIR/if-without-else-as-fn-expr.rs:2:5
|
LL | fn foo(bar: usize) -> usize {
@ -11,7 +11,7 @@ LL | | }
= note: `if` expressions without `else` evaluate to `()`
= help: consider adding an `else` block that evaluates to the expected type
error[E0317]: if may be missing an else clause
error[E0317]: `if` may be missing an `else` clause
--> $DIR/if-without-else-as-fn-expr.rs:9:20
|
LL | let x: usize = if bar % 5 == 0 {
@ -25,7 +25,7 @@ LL | | };
= note: `if` expressions without `else` evaluate to `()`
= help: consider adding an `else` block that evaluates to the expected type
error[E0317]: if may be missing an else clause
error[E0317]: `if` may be missing an `else` clause
--> $DIR/if-without-else-as-fn-expr.rs:17:5
|
LL | fn foo3(bar: usize) -> usize {
@ -38,7 +38,7 @@ LL | | }
= note: `if` expressions without `else` evaluate to `()`
= help: consider adding an `else` block that evaluates to the expected type
error[E0317]: if may be missing an else clause
error[E0317]: `if` may be missing an `else` clause
--> $DIR/if-without-else-as-fn-expr.rs:24:5
|
LL | fn foo_let(bar: usize) -> usize {
@ -51,7 +51,7 @@ LL | | }
= note: `if` expressions without `else` evaluate to `()`
= help: consider adding an `else` block that evaluates to the expected type
error[E0317]: if may be missing an else clause
error[E0317]: `if` may be missing an `else` clause
--> $DIR/if-without-else-as-fn-expr.rs:31:20
|
LL | let x: usize = if let 0 = 1 {
@ -65,7 +65,7 @@ LL | | };
= note: `if` expressions without `else` evaluate to `()`
= help: consider adding an `else` block that evaluates to the expected type
error[E0317]: if may be missing an else clause
error[E0317]: `if` may be missing an `else` clause
--> $DIR/if-without-else-as-fn-expr.rs:39:5
|
LL | fn foo3_let(bar: usize) -> usize {

View File

@ -1,6 +1,6 @@
fn main() {
let a = if true { true };
//~^ ERROR if may be missing an else clause [E0317]
//~^ ERROR `if` may be missing an `else` clause [E0317]
//~| expected `()`, found `bool`
println!("{}", a);
}

View File

@ -1,4 +1,4 @@
error[E0317]: if may be missing an else clause
error[E0317]: `if` may be missing an `else` clause
--> $DIR/if-without-else-result.rs:2:13
|
LL | let a = if true { true };

View File

@ -6,7 +6,7 @@ fn main() {
Some(2) => true,
//~^ NOTE this is found to be of type `bool`
None => (),
//~^ ERROR match arms have incompatible types
//~^ ERROR `match` arms have incompatible types
//~| NOTE expected `bool`, found `()`
_ => true
}

View File

@ -1,4 +1,4 @@
error[E0308]: match arms have incompatible types
error[E0308]: `match` arms have incompatible types
--> $DIR/issue-11319.rs:8:20
|
LL | / match Some(10) {

View File

@ -1,4 +1,4 @@
error[E0308]: match arms have incompatible types
error[E0308]: `match` arms have incompatible types
--> $DIR/issue-17728.rs:109:14
|
LL | / match to_parse {

View File

@ -108,7 +108,7 @@ fn str_to_direction(to_parse: &str) -> RoomDirection {
"down" => RoomDirection::Down,
_ => None
}
//~^^ ERROR match arms have incompatible types
//~^^ ERROR `match` arms have incompatible types
}
fn main() {

View File

@ -9,7 +9,7 @@ LL | fn attemptTraverse(&self, room: &Room, directionStr: &str) -> Result<&R
LL | Some(entry) => Ok(entry),
| ^^^^^^^^^ ...but data from `room` is returned here
error[E0308]: match arms have incompatible types
error[E0308]: `match` arms have incompatible types
--> $DIR/issue-17728.rs:109:14
|
LL | / match to_parse {

View File

@ -1,8 +1,8 @@
// Test if the sugared if-let construct correctly prints "missing an else clause" when an else
// clause does not exist, instead of the unsympathetic "match arms have incompatible types"
// clause does not exist, instead of the unsympathetic "`match` arms have incompatible types"
fn main() {
if let Some(homura) = Some("madoka") { //~ ERROR missing an else clause
if let Some(homura) = Some("madoka") { //~ ERROR missing an `else` clause
//~| expected `()`, found integer
765
};

View File

@ -1,4 +1,4 @@
error[E0317]: if may be missing an else clause
error[E0317]: `if` may be missing an `else` clause
--> $DIR/issue-19991.rs:5:5
|
LL | / if let Some(homura) = Some("madoka") {

View File

@ -10,7 +10,7 @@ fn closure_from_match() {
2 => |c| c - 1,
_ => |c| c - 1
};
//~^^^ ERROR match arms have incompatible types
//~^^^ ERROR `match` arms have incompatible types
}
fn main() { }

View File

@ -9,7 +9,7 @@ LL | x = |c| c + 1;
= note: no two closures, even if identical, have the same type
= help: consider boxing your closure and/or using it as a trait object
error[E0308]: match arms have incompatible types
error[E0308]: `match` arms have incompatible types
--> $DIR/issue-24036.rs:10:14
|
LL | let x = match 1usize {

View File

@ -2,7 +2,7 @@ fn main() {
let a = if true {
0
} else if false {
//~^ ERROR if may be missing an else clause
//~^ ERROR `if` may be missing an `else` clause
//~| expected `()`, found integer
1
};

View File

@ -1,4 +1,4 @@
error[E0317]: if may be missing an else clause
error[E0317]: `if` may be missing an `else` clause
--> $DIR/issue-4201.rs:4:12
|
LL | } else if false {

View File

@ -2,6 +2,6 @@
#[start]
fn start(argc: isize, argv: *const *const u8, crate_map: *const u8) -> isize {
//~^ start function has wrong type
//~^ `#[start]` function has wrong type
0
}

View File

@ -1,4 +1,4 @@
error[E0308]: start function has wrong type
error[E0308]: `#[start]` function has wrong type
--> $DIR/issue-9575.rs:4:1
|
LL | fn start(argc: isize, argv: *const *const u8, crate_map: *const u8) -> isize {

View File

@ -13,7 +13,7 @@ fn foo(
) {
let z = match 22 {
0 => x,
_ => y, //~ ERROR match arms have incompatible types
_ => y, //~ ERROR `match` arms have incompatible types
};
}

View File

@ -1,4 +1,4 @@
error[E0308]: match arms have incompatible types
error[E0308]: `match` arms have incompatible types
--> $DIR/old-lub-glb-hr.rs:16:14
|
LL | let z = match 22 {

View File

@ -9,7 +9,7 @@ fn foo(
) {
let z = match 22 {
0 => x,
_ => y, //~ ERROR match arms have incompatible types
_ => y, //~ ERROR `match` arms have incompatible types
};
}

View File

@ -1,4 +1,4 @@
error[E0308]: match arms have incompatible types
error[E0308]: `match` arms have incompatible types
--> $DIR/old-lub-glb-object.rs:12:14
|
LL | let z = match 22 {

View File

@ -4,5 +4,5 @@ struct S {
}
fn main(foo: S) {
//~^ ERROR: main function has wrong type [E0580]
//~^ ERROR: `main` function has wrong type [E0580]
}

View File

@ -1,4 +1,4 @@
error[E0580]: main function has wrong type
error[E0580]: `main` function has wrong type
--> $DIR/main-wrong-type.rs:6:1
|
LL | fn main(foo: S) {

View File

@ -14,6 +14,6 @@ fn main() {
E::C => 3,
E::D => 4,
E::E => unimplemented!(""),
E::F => "", //~ ERROR match arms have incompatible types
E::F => "", //~ ERROR `match` arms have incompatible types
};
}

View File

@ -1,4 +1,4 @@
error[E0308]: match arms have incompatible types
error[E0308]: `match` arms have incompatible types
--> $DIR/match-arm-resolving-to-never.rs:17:17
|
LL | / match E::F {

View File

@ -16,7 +16,7 @@ fn test_func2(n: i32) -> i32 {
let x = match n { //~ NOTE `match` arms have incompatible types
12 => 'b', //~ NOTE this is found to be of type `char`
_ => 42,
//~^ ERROR match arms have incompatible types
//~^ ERROR `match` arms have incompatible types
//~| NOTE expected `char`, found integer
};
x
@ -32,7 +32,7 @@ fn test_func3(n: i32) -> i32 {
6 => 'b',
//~^ NOTE this and all prior arms are found to be of type `char`
_ => 42,
//~^ ERROR match arms have incompatible types
//~^ ERROR `match` arms have incompatible types
//~| NOTE expected `char`, found integer
};
x
@ -44,7 +44,7 @@ fn test_func4() {
x //~ NOTE this is found to be of type `u32`
},
None => {}
//~^ ERROR match arms have incompatible types
//~^ ERROR `match` arms have incompatible types
//~| NOTE expected `u32`, found `()`
};
}

View File

@ -7,7 +7,7 @@ LL | match n {
LL | 12 => 'b',
| ^^^ expected `i32`, found `char`
error[E0308]: match arms have incompatible types
error[E0308]: `match` arms have incompatible types
--> $DIR/match-type-err-first-arm.rs:18:14
|
LL | let x = match n {
@ -21,7 +21,7 @@ LL | |
LL | | };
| |_____- `match` arms have incompatible types
error[E0308]: match arms have incompatible types
error[E0308]: `match` arms have incompatible types
--> $DIR/match-type-err-first-arm.rs:34:14
|
LL | let x = match n {
@ -40,7 +40,7 @@ LL | |
LL | | };
| |_____- `match` arms have incompatible types
error[E0308]: match arms have incompatible types
error[E0308]: `match` arms have incompatible types
--> $DIR/match-type-err-first-arm.rs:46:17
|
LL | / match Some(0u32) {

View File

@ -29,7 +29,7 @@ fn qux() -> impl std::fmt::Display {
0i32
} else {
1u32
//~^ ERROR if and else have incompatible types
//~^ ERROR `if` and `else` have incompatible types
}
}

View File

@ -34,7 +34,7 @@ LL | } else {
LL | 1u32
| ^^^^ expected `i32`, found `u32`
error[E0308]: if and else have incompatible types
error[E0308]: `if` and `else` have incompatible types
--> $DIR/point-to-type-err-cause-on-impl-trait-return.rs:31:9
|
LL | / if false {
@ -45,7 +45,7 @@ LL | | 1u32
| | ^^^^ expected `i32`, found `u32`
LL | |
LL | | }
| |_____- if and else have incompatible types
| |_____- `if` and `else` have incompatible types
error[E0308]: mismatched types
--> $DIR/point-to-type-err-cause-on-impl-trait-return.rs:39:14

View File

@ -1,4 +1,4 @@
error[E0308]: if and else have incompatible types
error[E0308]: `if` and `else` have incompatible types
--> $DIR/region-invariant-static-error-reporting.rs:17:9
|
LL | let bad = if x.is_some() {
@ -9,7 +9,7 @@ LL | | } else {
LL | | mk_static()
| | ^^^^^^^^^^^ lifetime mismatch
LL | | };
| |_____- if and else have incompatible types
| |_____- `if` and `else` have incompatible types
|
= note: expected struct `Invariant<'a>`
found struct `Invariant<'static>`

View File

@ -1,7 +1,7 @@
fn main() {
let s = "abc";
let t = if true { s[..2] } else { s };
//~^ ERROR if and else have incompatible types
//~^ ERROR `if` and `else` have incompatible types
let u: &str = if true { s[..2] } else { s };
//~^ ERROR mismatched types
let v = s[..2];

View File

@ -1,4 +1,4 @@
error[E0308]: if and else have incompatible types
error[E0308]: `if` and `else` have incompatible types
--> $DIR/str-array-assignment.rs:3:37
|
LL | let t = if true { s[..2] } else { s };

View File

@ -17,7 +17,7 @@ async fn thing() -> Result<(), ()> {
if true {
thing_one()
} else {
thing_two() //~ ERROR if and else have incompatible types
thing_two() //~ ERROR `if` and `else` have incompatible types
}.await
}

View File

@ -1,4 +1,4 @@
error[E0308]: if and else have incompatible types
error[E0308]: `if` and `else` have incompatible types
--> $DIR/opaque-type-error.rs:20:9
|
LL | / if true {
@ -8,7 +8,7 @@ LL | | } else {
LL | | thing_two()
| | ^^^^^^^^^^^ expected opaque type, found a different opaque type
LL | | }.await
| |_____- if and else have incompatible types
| |_____- `if` and `else` have incompatible types
|
= note: expected type `impl std::future::Future` (opaque type at <$DIR/opaque-type-error.rs:8:19>)
found opaque type `impl std::future::Future` (opaque type at <$DIR/opaque-type-error.rs:12:19>)

View File

@ -20,7 +20,7 @@ fn main() {
// However, in #67273, we would delay the unification of this arm with the above
// because we used the hitherto accumulated coercion as opposed to the "initial" type.
2 => i = 1,
//~^ ERROR match arms have incompatible types
//~^ ERROR `match` arms have incompatible types
_ => (),
}

View File

@ -1,4 +1,4 @@
error[E0308]: match arms have incompatible types
error[E0308]: `match` arms have incompatible types
--> $DIR/issue-67273-assignment-match-prior-arm-bool-expected-unit.rs:22:14
|
LL | / match i {

View File

@ -1,4 +1,4 @@
error[E0308]: match arms have incompatible types
error[E0308]: `match` arms have incompatible types
--> $DIR/wf-unsafe-trait-obj-match.rs:23:17
|
LL | / match opt() {