Auto merge of #21187 - oli-obk:feature/hint_struct_field_access, r=alexcrichton
rebase and fix of #19267
This commit is contained in:
commit
b7930d93d9
4 changed files with 112 additions and 1 deletions
24
src/test/compile-fail/struct-fields-hints-no-dupe.rs
Normal file
24
src/test/compile-fail/struct-fields-hints-no-dupe.rs
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
|
||||
// file at the top-level directory of this distribution and at
|
||||
// http://rust-lang.org/COPYRIGHT.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
|
||||
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
|
||||
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
|
||||
// option. This file may not be copied, modified, or distributed
|
||||
// except according to those terms.
|
||||
|
||||
struct A {
|
||||
foo : i32,
|
||||
car : i32,
|
||||
barr : i32
|
||||
}
|
||||
|
||||
fn main() {
|
||||
let a = A {
|
||||
foo : 5,
|
||||
bar : 42,//~ ERROR structure `A` has no field named `bar`
|
||||
//~^ HELP did you mean `barr`?
|
||||
car : 9,
|
||||
};
|
||||
}
|
||||
23
src/test/compile-fail/struct-fields-hints.rs
Normal file
23
src/test/compile-fail/struct-fields-hints.rs
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
|
||||
// file at the top-level directory of this distribution and at
|
||||
// http://rust-lang.org/COPYRIGHT.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
|
||||
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
|
||||
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
|
||||
// option. This file may not be copied, modified, or distributed
|
||||
// except according to those terms.
|
||||
|
||||
struct A {
|
||||
foo : i32,
|
||||
car : i32,
|
||||
barr : i32
|
||||
}
|
||||
|
||||
fn main() {
|
||||
let a = A {
|
||||
foo : 5,
|
||||
bar : 42,//~ ERROR structure `A` has no field named `bar`
|
||||
//~^ HELP did you mean `car`?
|
||||
};
|
||||
}
|
||||
24
src/test/compile-fail/struct-fields-typo.rs
Normal file
24
src/test/compile-fail/struct-fields-typo.rs
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
|
||||
// file at the top-level directory of this distribution and at
|
||||
// http://rust-lang.org/COPYRIGHT.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
|
||||
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
|
||||
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
|
||||
// option. This file may not be copied, modified, or distributed
|
||||
// except according to those terms.
|
||||
|
||||
struct BuildData {
|
||||
foo: isize,
|
||||
bar: f32
|
||||
}
|
||||
|
||||
fn main() {
|
||||
let foo = BuildData {
|
||||
foo: 0,
|
||||
bar: 0.5,
|
||||
};
|
||||
let x = foo.baa;//~ ERROR attempted access of field `baa` on type `BuildData`
|
||||
//~^ HELP did you mean `bar`?
|
||||
println!("{}", x);
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue