error: type `foo::S` is private --> $DIR/fields.rs:15:17 | LL | let s = S { x: 0 }; | ^^^^^^^^^^ ... LL | let s = foo::m!(S, x); | ------------- in this macro invocation error: type `foo::S` is private --> $DIR/fields.rs:16:17 | LL | let _ = s.x; | ^ ... LL | let s = foo::m!(S, x); | ------------- in this macro invocation error: type `foo::T` is private --> $DIR/fields.rs:18:17 | LL | let t = T(0); | ^^^^ ... LL | let s = foo::m!(S, x); | ------------- in this macro invocation error: type `foo::T` is private --> $DIR/fields.rs:19:17 | LL | let _ = t.0; | ^ ... LL | let s = foo::m!(S, x); | ------------- in this macro invocation error: aborting due to 4 previous errors