Skip to content

Commit 631fe3b

Browse files
author
Jonathan Turner
authored
Rollup merge of rust-lang#35858 - shyaamsundhar:patch-1, r=GuillaumeGomez
E0435, E0437 & E0438 New Error Format Part of rust-lang#35801 , rust-lang#35802 and rust-lang#35803 r? @GuillaumeGomez Hi! Please review the changes.
2 parents ca86803 + 738b91e commit 631fe3b

File tree

4 files changed

+15
-6
lines changed

4 files changed

+15
-6
lines changed

src/librustc_resolve/lib.rs

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -251,20 +251,24 @@ fn resolve_struct_error<'b, 'a: 'b, 'c>(resolver: &'b Resolver<'a>,
251251
err
252252
}
253253
ResolutionError::TypeNotMemberOfTrait(type_, trait_) => {
254-
struct_span_err!(resolver.session,
254+
let mut err = struct_span_err!(resolver.session,
255255
span,
256256
E0437,
257257
"type `{}` is not a member of trait `{}`",
258258
type_,
259-
trait_)
259+
trait_);
260+
err.span_label(span, &format!("not a member of trait `Foo`"));
261+
err
260262
}
261263
ResolutionError::ConstNotMemberOfTrait(const_, trait_) => {
262-
struct_span_err!(resolver.session,
264+
let mut err = struct_span_err!(resolver.session,
263265
span,
264266
E0438,
265267
"const `{}` is not a member of trait `{}`",
266268
const_,
267-
trait_)
269+
trait_);
270+
err.span_label(span, &format!("not a member of trait `Foo`"));
271+
err
268272
}
269273
ResolutionError::VariableNotBoundInPattern(variable_name, from, to) => {
270274
struct_span_err!(resolver.session,
@@ -442,10 +446,12 @@ fn resolve_struct_error<'b, 'a: 'b, 'c>(resolver: &'b Resolver<'a>,
442446
closure form instead")
443447
}
444448
ResolutionError::AttemptToUseNonConstantValueInConstant => {
445-
struct_span_err!(resolver.session,
449+
let mut err = struct_span_err!(resolver.session,
446450
span,
447451
E0435,
448-
"attempt to use a non-constant value in a constant")
452+
"attempt to use a non-constant value in a constant");
453+
err.span_label(span, &format!("non-constant used with constant"));
454+
err
449455
}
450456
ResolutionError::BindingShadowsSomethingUnacceptable(what_binding, name, binding) => {
451457
let shadows_what = PathResolution::new(binding.def().unwrap()).kind_name();

src/test/compile-fail/E0435.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,5 @@
1111
fn main () {
1212
let foo = 42u32;
1313
const FOO : u32 = foo; //~ ERROR E0435
14+
//~| NOTE non-constant used with constant
1415
}

src/test/compile-fail/E0437.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ trait Foo {}
1212

1313
impl Foo for i32 {
1414
type Bar = bool; //~ ERROR E0437
15+
//~| NOTE not a member of trait `Foo`
1516
}
1617

1718
fn main () {

src/test/compile-fail/E0438.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ trait Foo {}
1414

1515
impl Foo for i32 {
1616
const BAR: bool = true; //~ ERROR E0438
17+
//~| NOTE not a member of trait `Foo`
1718
}
1819

1920
fn main () {

0 commit comments

Comments
 (0)