error: `extern` block uses type `A` which is not FFI-safe: this struct has unspecified layout --> $DIR/issue-14309.rs:40:15 | LL | fn foo(x: A); //~ ERROR type `A` which is not FFI-safe | ^ | note: lint level defined here --> $DIR/issue-14309.rs:11:9 | LL | #![deny(improper_ctypes)] | ^^^^^^^^^^^^^^^ = help: consider adding a #[repr(C)] or #[repr(transparent)] attribute to this struct note: type defined here --> $DIR/issue-14309.rs:14:1 | LL | / struct A { LL | | x: i32 LL | | } | |_^ error: `extern` block uses type `A` which is not FFI-safe: this struct has unspecified layout --> $DIR/issue-14309.rs:41:15 | LL | fn bar(x: B); //~ ERROR type `A` | ^ | = help: consider adding a #[repr(C)] or #[repr(transparent)] attribute to this struct note: type defined here --> $DIR/issue-14309.rs:14:1 | LL | / struct A { LL | | x: i32 LL | | } | |_^ error: `extern` block uses type `A` which is not FFI-safe: this struct has unspecified layout --> $DIR/issue-14309.rs:43:15 | LL | fn qux(x: A2); //~ ERROR type `A` | ^^ | = help: consider adding a #[repr(C)] or #[repr(transparent)] attribute to this struct note: type defined here --> $DIR/issue-14309.rs:14:1 | LL | / struct A { LL | | x: i32 LL | | } | |_^ error: `extern` block uses type `A` which is not FFI-safe: this struct has unspecified layout --> $DIR/issue-14309.rs:44:16 | LL | fn quux(x: B2); //~ ERROR type `A` | ^^ | = help: consider adding a #[repr(C)] or #[repr(transparent)] attribute to this struct note: type defined here --> $DIR/issue-14309.rs:14:1 | LL | / struct A { LL | | x: i32 LL | | } | |_^ error: `extern` block uses type `A` which is not FFI-safe: this struct has unspecified layout --> $DIR/issue-14309.rs:46:16 | LL | fn fred(x: D); //~ ERROR type `A` | ^ | = help: consider adding a #[repr(C)] or #[repr(transparent)] attribute to this struct note: type defined here --> $DIR/issue-14309.rs:14:1 | LL | / struct A { LL | | x: i32 LL | | } | |_^ error: aborting due to 5 previous errors