about summary refs log tree commit diff
path: root/src/test/ui/suggest-private-fields.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/suggest-private-fields.rs')
-rw-r--r--src/test/ui/suggest-private-fields.rs42
1 files changed, 42 insertions, 0 deletions
diff --git a/src/test/ui/suggest-private-fields.rs b/src/test/ui/suggest-private-fields.rs
new file mode 100644
index 00000000000..d0752b5f02f
--- /dev/null
+++ b/src/test/ui/suggest-private-fields.rs
@@ -0,0 +1,42 @@
+// Copyright 2014 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.
+
+// aux-build:struct_field_privacy.rs
+
+extern crate struct_field_privacy as xc;
+
+use xc::B;
+
+struct A {
+    pub a: u32,
+    b: u32,
+}
+
+fn main () {
+    // external crate struct
+    let k = B {
+        aa: 20,
+        //~^ ERROR struct `xc::B` has no field named `aa`
+        //~| NOTE field does not exist - did you mean `a`?
+        bb: 20,
+        //~^ ERROR struct `xc::B` has no field named `bb`
+        //~| NOTE `xc::B` does not have this field
+        //~| NOTE available fields are: `a`
+    };
+    // local crate struct
+    let l = A {
+        aa: 20,
+        //~^ ERROR struct `A` has no field named `aa`
+        //~| NOTE field does not exist - did you mean `a`?
+        bb: 20,
+        //~^ ERROR struct `A` has no field named `bb`
+        //~| NOTE field does not exist - did you mean `b`?
+    };
+}