Rollup merge of #31721 - rphmeier:err_tuplestruct_count, r=Manishearth
Fixes #31706 Also fixes a phrasing error in the diagnostic.
This commit is contained in:
commit
206e86b947
|
@ -205,8 +205,8 @@ let f = Bar::Foo{ a: 0, b: 0 }; // error: field `b` of struct `Bar::Foo`
|
|||
// is private
|
||||
```
|
||||
|
||||
To fix this error, please ensure that all the fields of the struct, or
|
||||
implement a function for easy instantiation. Examples:
|
||||
To fix this error, please ensure that all the fields of the struct are public,
|
||||
or implement a function for easy instantiation. Examples:
|
||||
|
||||
```
|
||||
mod Bar {
|
||||
|
|
|
@ -833,7 +833,7 @@ impl<'a, 'tcx> PrivacyVisitor<'a, 'tcx> {
|
|||
NamedField(name) => format!("field `{}` of {} is private",
|
||||
name, struct_desc),
|
||||
UnnamedField(idx) => format!("field #{} of {} is private",
|
||||
idx + 1, struct_desc),
|
||||
idx, struct_desc),
|
||||
};
|
||||
span_err!(self.tcx.sess, span, E0451,
|
||||
"{}", &msg[..]);
|
||||
|
|
|
@ -63,25 +63,25 @@ fn this_crate() {
|
|||
let c = a::C(2, 3); //~ ERROR: cannot invoke tuple struct constructor
|
||||
let d = a::D(4);
|
||||
|
||||
let a::A(()) = a; //~ ERROR: field #1 of struct `a::A` is private
|
||||
let a::A(()) = a; //~ ERROR: field #0 of struct `a::A` is private
|
||||
let a::A(_) = a;
|
||||
match a { a::A(()) => {} } //~ ERROR: field #1 of struct `a::A` is private
|
||||
match a { a::A(()) => {} } //~ ERROR: field #0 of struct `a::A` is private
|
||||
match a { a::A(_) => {} }
|
||||
|
||||
let a::B(_) = b;
|
||||
let a::B(_b) = b; //~ ERROR: field #1 of struct `a::B` is private
|
||||
let a::B(_b) = b; //~ ERROR: field #0 of struct `a::B` is private
|
||||
match b { a::B(_) => {} }
|
||||
match b { a::B(_b) => {} } //~ ERROR: field #1 of struct `a::B` is private
|
||||
match b { a::B(1) => {} a::B(_) => {} } //~ ERROR: field #1 of struct `a::B` is private
|
||||
match b { a::B(_b) => {} } //~ ERROR: field #0 of struct `a::B` is private
|
||||
match b { a::B(1) => {} a::B(_) => {} } //~ ERROR: field #0 of struct `a::B` is private
|
||||
|
||||
let a::C(_, _) = c;
|
||||
let a::C(_a, _) = c;
|
||||
let a::C(_, _b) = c; //~ ERROR: field #2 of struct `a::C` is private
|
||||
let a::C(_a, _b) = c; //~ ERROR: field #2 of struct `a::C` is private
|
||||
let a::C(_, _b) = c; //~ ERROR: field #1 of struct `a::C` is private
|
||||
let a::C(_a, _b) = c; //~ ERROR: field #1 of struct `a::C` is private
|
||||
match c { a::C(_, _) => {} }
|
||||
match c { a::C(_a, _) => {} }
|
||||
match c { a::C(_, _b) => {} } //~ ERROR: field #2 of struct `a::C` is private
|
||||
match c { a::C(_a, _b) => {} } //~ ERROR: field #2 of struct `a::C` is private
|
||||
match c { a::C(_, _b) => {} } //~ ERROR: field #1 of struct `a::C` is private
|
||||
match c { a::C(_a, _b) => {} } //~ ERROR: field #1 of struct `a::C` is private
|
||||
|
||||
let a::D(_) = d;
|
||||
let a::D(_d) = d;
|
||||
|
@ -101,30 +101,30 @@ fn xcrate() {
|
|||
let c = other::C(2, 3); //~ ERROR: cannot invoke tuple struct constructor
|
||||
let d = other::D(4);
|
||||
|
||||
let other::A(()) = a; //~ ERROR: field #1 of struct `other::A` is private
|
||||
let other::A(()) = a; //~ ERROR: field #0 of struct `other::A` is private
|
||||
let other::A(_) = a;
|
||||
match a { other::A(()) => {} }
|
||||
//~^ ERROR: field #1 of struct `other::A` is private
|
||||
//~^ ERROR: field #0 of struct `other::A` is private
|
||||
match a { other::A(_) => {} }
|
||||
|
||||
let other::B(_) = b;
|
||||
let other::B(_b) = b; //~ ERROR: field #1 of struct `other::B` is private
|
||||
let other::B(_b) = b; //~ ERROR: field #0 of struct `other::B` is private
|
||||
match b { other::B(_) => {} }
|
||||
match b { other::B(_b) => {} }
|
||||
//~^ ERROR: field #1 of struct `other::B` is private
|
||||
//~^ ERROR: field #0 of struct `other::B` is private
|
||||
match b { other::B(1) => {} other::B(_) => {} }
|
||||
//~^ ERROR: field #1 of struct `other::B` is private
|
||||
//~^ ERROR: field #0 of struct `other::B` is private
|
||||
|
||||
let other::C(_, _) = c;
|
||||
let other::C(_a, _) = c;
|
||||
let other::C(_, _b) = c; //~ ERROR: field #2 of struct `other::C` is private
|
||||
let other::C(_a, _b) = c; //~ ERROR: field #2 of struct `other::C` is private
|
||||
let other::C(_, _b) = c; //~ ERROR: field #1 of struct `other::C` is private
|
||||
let other::C(_a, _b) = c; //~ ERROR: field #1 of struct `other::C` is private
|
||||
match c { other::C(_, _) => {} }
|
||||
match c { other::C(_a, _) => {} }
|
||||
match c { other::C(_, _b) => {} }
|
||||
//~^ ERROR: field #2 of struct `other::C` is private
|
||||
//~^ ERROR: field #1 of struct `other::C` is private
|
||||
match c { other::C(_a, _b) => {} }
|
||||
//~^ ERROR: field #2 of struct `other::C` is private
|
||||
//~^ ERROR: field #1 of struct `other::C` is private
|
||||
|
||||
let other::D(_) = d;
|
||||
let other::D(_d) = d;
|
||||
|
|
Loading…
Reference in New Issue