tests: issue-14309.* => repr-rust-is-undefined.*

This commit is contained in:
Jubilee Young 2024-09-27 14:04:42 -07:00
parent bcf8cf2943
commit a1fbf251b8
3 changed files with 15 additions and 12 deletions

View File

@ -2744,7 +2744,6 @@ ui/lint/issue-111359.rs
ui/lint/issue-112489.rs
ui/lint/issue-117949.rs
ui/lint/issue-121070-let-range.rs
ui/lint/issue-14309.rs
ui/lint/issue-14837.rs
ui/lint/issue-17718-const-naming.rs
ui/lint/issue-1866.rs

View File

@ -1,6 +1,10 @@
#![deny(improper_ctypes)]
#![allow(dead_code)]
// issue https://github.com/rust-lang/rust/issues/14309
// Validates we lint on repr(Rust) structs and not repr(C) structs in FFI, to implement RFC 79:
// https://rust-lang.github.io/rfcs/0079-undefined-struct-layout.html
struct A {
x: i32
}

View File

@ -1,5 +1,5 @@
error: `extern` block uses type `A`, which is not FFI-safe
--> $DIR/issue-14309.rs:30:15
--> $DIR/repr-rust-is-undefined.rs:34:15
|
LL | fn foo(x: A);
| ^ not FFI-safe
@ -7,18 +7,18 @@ LL | fn foo(x: A);
= help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
= note: this struct has unspecified layout
note: the type is defined here
--> $DIR/issue-14309.rs:4:1
--> $DIR/repr-rust-is-undefined.rs:8:1
|
LL | struct A {
| ^^^^^^^^
note: the lint level is defined here
--> $DIR/issue-14309.rs:1:9
--> $DIR/repr-rust-is-undefined.rs:1:9
|
LL | #![deny(improper_ctypes)]
| ^^^^^^^^^^^^^^^
error: `extern` block uses type `A`, which is not FFI-safe
--> $DIR/issue-14309.rs:31:15
--> $DIR/repr-rust-is-undefined.rs:35:15
|
LL | fn bar(x: B);
| ^ not FFI-safe
@ -26,13 +26,13 @@ LL | fn bar(x: B);
= help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
= note: this struct has unspecified layout
note: the type is defined here
--> $DIR/issue-14309.rs:4:1
--> $DIR/repr-rust-is-undefined.rs:8:1
|
LL | struct A {
| ^^^^^^^^
error: `extern` block uses type `A`, which is not FFI-safe
--> $DIR/issue-14309.rs:33:15
--> $DIR/repr-rust-is-undefined.rs:37:15
|
LL | fn qux(x: A2);
| ^^ not FFI-safe
@ -40,13 +40,13 @@ LL | fn qux(x: A2);
= help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
= note: this struct has unspecified layout
note: the type is defined here
--> $DIR/issue-14309.rs:4:1
--> $DIR/repr-rust-is-undefined.rs:8:1
|
LL | struct A {
| ^^^^^^^^
error: `extern` block uses type `A`, which is not FFI-safe
--> $DIR/issue-14309.rs:34:16
--> $DIR/repr-rust-is-undefined.rs:38:16
|
LL | fn quux(x: B2);
| ^^ not FFI-safe
@ -54,13 +54,13 @@ LL | fn quux(x: B2);
= help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
= note: this struct has unspecified layout
note: the type is defined here
--> $DIR/issue-14309.rs:4:1
--> $DIR/repr-rust-is-undefined.rs:8:1
|
LL | struct A {
| ^^^^^^^^
error: `extern` block uses type `A`, which is not FFI-safe
--> $DIR/issue-14309.rs:36:16
--> $DIR/repr-rust-is-undefined.rs:40:16
|
LL | fn fred(x: D);
| ^ not FFI-safe
@ -68,7 +68,7 @@ LL | fn fred(x: D);
= help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
= note: this struct has unspecified layout
note: the type is defined here
--> $DIR/issue-14309.rs:4:1
--> $DIR/repr-rust-is-undefined.rs:8:1
|
LL | struct A {
| ^^^^^^^^