Skip to content

Commit e1d0de8

Browse files
authored
Auto merge of #36274 - Manishearth:rollup, r=Manishearth
Rollup of 6 pull requests - Successful merges: #35845, #35983, #36065, #36102, #36242, #36245 - Failed merges:
2 parents cbe4de7 + 20ec61e commit e1d0de8

18 files changed

+100
-76
lines changed

src/librustc/middle/resolve_lifetime.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -396,9 +396,9 @@ fn signal_shadowing_problem(sess: &Session, name: ast::Name, orig: Original, sha
396396
{} name that is already in scope",
397397
shadower.kind.desc(), name, orig.kind.desc()))
398398
};
399-
err.span_note(orig.span,
400-
&format!("shadowed {} `{}` declared here",
401-
orig.kind.desc(), name));
399+
err.span_label(orig.span, &"first declared here");
400+
err.span_label(shadower.span,
401+
&format!("lifetime {} already in scope", name));
402402
err.emit();
403403
}
404404

src/librustc_typeck/check/mod.rs

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2437,16 +2437,18 @@ impl<'a, 'gcx, 'tcx> FnCtxt<'a, 'gcx, 'tcx> {
24372437
if arg_count == 1 {" was"} else {"s were"}),
24382438
error_code);
24392439

2440-
err.span_label(sp, &format!("expected {}{} parameter{}",
2441-
if variadic {"at least "} else {""},
2442-
expected_count,
2443-
if expected_count == 1 {""} else {"s"}));
2444-
24452440
let input_types = fn_inputs.iter().map(|i| format!("{:?}", i)).collect::<Vec<String>>();
2446-
if input_types.len() > 0 {
2447-
err.note(&format!("the following parameter type{} expected: {}",
2448-
if expected_count == 1 {" was"} else {"s were"},
2449-
input_types.join(", ")));
2441+
if input_types.len() > 1 {
2442+
err.note("the following parameter types were expected:");
2443+
err.note(&input_types.join(", "));
2444+
} else if input_types.len() > 0 {
2445+
err.note(&format!("the following parameter type was expected: {}",
2446+
input_types[0]));
2447+
} else {
2448+
err.span_label(sp, &format!("expected {}{} parameter{}",
2449+
if variadic {"at least "} else {""},
2450+
expected_count,
2451+
if expected_count == 1 {""} else {"s"}));
24502452
}
24512453
err.emit();
24522454
}

src/libsyntax/feature_gate.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -308,6 +308,7 @@ declare_features! (
308308
(removed, struct_inherit, "1.0.0", None),
309309
(removed, test_removed_feature, "1.0.0", None),
310310
(removed, visible_private_types, "1.0.0", None),
311+
(removed, unsafe_no_drop_flag, "1.0.0", None),
311312
);
312313

313314
declare_features! (

src/test/compile-fail/E0060.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,5 @@ extern "C" {
1515
fn main() {
1616
unsafe { printf(); }
1717
//~^ ERROR E0060
18-
//~| NOTE expected at least 1 parameter
19-
//~| NOTE the following parameter type was expected
18+
//~| NOTE the following parameter type was expected: *const u8
2019
}

src/test/compile-fail/E0061.rs

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,15 @@
1010

1111
fn f(a: u16, b: &str) {}
1212

13+
fn f2(a: u16) {}
14+
1315
fn main() {
1416
f(0);
1517
//~^ ERROR E0061
16-
//~| NOTE expected 2 parameters
17-
//~| NOTE the following parameter types were expected
18+
//~| NOTE the following parameter types were expected:
19+
//~| NOTE u16, &str
20+
21+
f2();
22+
//~^ ERROR E0061
23+
//~| NOTE the following parameter type was expected: u16
1824
}

src/test/compile-fail/E0496.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,9 @@ struct Foo<'a> {
1313
}
1414

1515
impl<'a> Foo<'a> {
16+
//~^ NOTE first declared here
1617
fn f<'a>(x: &'a i32) { //~ ERROR E0496
18+
//~^ NOTE lifetime 'a already in scope
1719
}
1820
}
1921

src/test/compile-fail/issue-18819.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,6 @@ fn print_x(_: &Foo<Item=bool>, extra: &str) {
2525
fn main() {
2626
print_x(X);
2727
//~^ ERROR this function takes 2 parameters but 1 parameter was supplied
28-
//~| NOTE the following parameter types were expected: &Foo<Item=bool>, &str
29-
//~| NOTE expected 2 parameters
28+
//~| NOTE the following parameter types were expected:
29+
//~| NOTE &Foo<Item=bool>, &str
3030
}

src/test/compile-fail/issue-3044.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,6 @@ fn main() {
1515
});
1616
//~^^ ERROR this function takes 2 parameters but 1 parameter was supplied
1717
//~| NOTE the following parameter types were expected
18-
//~| NOTE expected 2 parameters
18+
//~| NOTE _, _
1919
// the first error is, um, non-ideal.
2020
}

src/test/compile-fail/issue-4935.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,4 +14,3 @@ fn foo(a: usize) {}
1414
fn main() { foo(5, 6) }
1515
//~^ ERROR this function takes 1 parameter but 2 parameters were supplied
1616
//~| NOTE the following parameter type was expected
17-
//~| NOTE expected 1 parameter

src/test/compile-fail/loops-reject-duplicate-labels-2.rs

Lines changed: 17 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -19,30 +19,31 @@
1919
// https://internals.rust-lang.org/t/psa-rejecting-duplicate-loop-labels/1833
2020

2121
pub fn foo() {
22-
{ 'fl: for _ in 0..10 { break; } } //~ NOTE shadowed label `'fl` declared here
22+
{ 'fl: for _ in 0..10 { break; } } //~ NOTE first declared here
2323
{ 'fl: loop { break; } } //~ WARN label name `'fl` shadows a label name that is already in scope
24-
25-
{ 'lf: loop { break; } } //~ NOTE shadowed label `'lf` declared here
24+
//~^ NOTE lifetime 'fl already in scope
25+
{ 'lf: loop { break; } } //~ NOTE first declared here
2626
{ 'lf: for _ in 0..10 { break; } } //~ WARN label name `'lf` shadows a label name that is already in scope
27-
28-
{ 'wl: while 2 > 1 { break; } } //~ NOTE shadowed label `'wl` declared here
27+
//~^ NOTE lifetime 'lf already in scope
28+
{ 'wl: while 2 > 1 { break; } } //~ NOTE first declared here
2929
{ 'wl: loop { break; } } //~ WARN label name `'wl` shadows a label name that is already in scope
30-
31-
{ 'lw: loop { break; } } //~ NOTE shadowed label `'lw` declared here
30+
//~^ NOTE lifetime 'wl already in scope
31+
{ 'lw: loop { break; } } //~ NOTE first declared here
3232
{ 'lw: while 2 > 1 { break; } } //~ WARN label name `'lw` shadows a label name that is already in scope
33-
34-
{ 'fw: for _ in 0..10 { break; } } //~ NOTE shadowed label `'fw` declared here
33+
//~^ NOTE lifetime 'lw already in scope
34+
{ 'fw: for _ in 0..10 { break; } } //~ NOTE first declared here
3535
{ 'fw: while 2 > 1 { break; } } //~ WARN label name `'fw` shadows a label name that is already in scope
36-
37-
{ 'wf: while 2 > 1 { break; } } //~ NOTE shadowed label `'wf` declared here
36+
//~^ NOTE lifetime 'fw already in scope
37+
{ 'wf: while 2 > 1 { break; } } //~ NOTE first declared here
3838
{ 'wf: for _ in 0..10 { break; } } //~ WARN label name `'wf` shadows a label name that is already in scope
39-
40-
{ 'tl: while let Some(_) = None::<i32> { break; } } //~ NOTE shadowed label `'tl` declared here
39+
//~^ NOTE lifetime 'wf already in scope
40+
{ 'tl: while let Some(_) = None::<i32> { break; } } //~ NOTE first declared here
4141
{ 'tl: loop { break; } } //~ WARN label name `'tl` shadows a label name that is already in scope
42-
43-
{ 'lt: loop { break; } } //~ NOTE shadowed label `'lt` declared here
42+
//~^ NOTE lifetime 'tl already in scope
43+
{ 'lt: loop { break; } } //~ NOTE first declared here
4444
{ 'lt: while let Some(_) = None::<i32> { break; } }
45-
//~^ WARN label name `'lt` shadows a label name that is already in scope
45+
//~^ WARN label name `'lt` shadows a label name that is already in scope
46+
//~| NOTE lifetime 'lt already in scope
4647
}
4748

4849
#[rustc_error]

0 commit comments

Comments
 (0)