summaryrefslogtreecommitdiffstats
path: root/tests/ui/issues/issue-25386.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/issues/issue-25386.rs')
-rw-r--r--tests/ui/issues/issue-25386.rs27
1 files changed, 27 insertions, 0 deletions
diff --git a/tests/ui/issues/issue-25386.rs b/tests/ui/issues/issue-25386.rs
new file mode 100644
index 000000000..b26cc7768
--- /dev/null
+++ b/tests/ui/issues/issue-25386.rs
@@ -0,0 +1,27 @@
+mod stuff {
+ pub struct Item {
+ c_object: Box<CObj>,
+ }
+ pub struct CObj {
+ name: Option<String>,
+ }
+ impl Item {
+ pub fn new() -> Item {
+ Item {
+ c_object: Box::new(CObj { name: None }),
+ }
+ }
+ }
+}
+
+macro_rules! check_ptr_exist {
+ ($var:expr, $member:ident) => (
+ (*$var.c_object).$member.is_some()
+ //~^ ERROR field `c_object` of struct `Item` is private
+ );
+}
+
+fn main() {
+ let item = stuff::Item::new();
+ println!("{}", check_ptr_exist!(item, name));
+}