Skip to content

Commit 968c177

Browse files
committed
Add repr(C) to all transalted unsafe structs
1 parent 65fb8b5 commit 968c177

45 files changed

Lines changed: 73 additions & 0 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

tests/benchmarks/out/unsafe/bfs.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ use std::collections::BTreeMap;
66
use std::io::{Read, Seek, Write};
77
use std::os::fd::{AsFd, FromRawFd, IntoRawFd};
88
use std::rc::Rc;
9+
#[repr(C)]
910
#[derive(Copy, Clone, Default)]
1011
pub struct Queue {
1112
pub elems: *mut u32,
@@ -35,11 +36,13 @@ impl Queue {
3536
return ((self.back) == (0_u64));
3637
}
3738
}
39+
#[repr(C)]
3840
#[derive(Copy, Clone, Default)]
3941
pub struct GraphNode {
4042
pub vertex: u32,
4143
pub next: *mut GraphNode,
4244
}
45+
#[repr(C)]
4346
#[derive(Copy, Clone, Default)]
4447
pub struct Graph {
4548
pub V: u32,

tests/benchmarks/out/unsafe/bst.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ use std::collections::BTreeMap;
66
use std::io::{Read, Seek, Write};
77
use std::os::fd::{AsFd, FromRawFd, IntoRawFd};
88
use std::rc::Rc;
9+
#[repr(C)]
910
#[derive(Copy, Clone, Default)]
1011
pub struct node_t {
1112
pub left: *mut node_t,

tests/ub/out/unsafe/ub6.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ use std::collections::BTreeMap;
66
use std::io::{Read, Seek, Write};
77
use std::os::fd::{AsFd, FromRawFd, IntoRawFd};
88
use std::rc::Rc;
9+
#[repr(C)]
910
#[derive(Copy, Clone, Default)]
1011
pub struct Pair {
1112
pub x1: *mut i32,

tests/unit/out/unsafe/10_struct.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,13 @@ use std::collections::BTreeMap;
66
use std::io::{Read, Seek, Write};
77
use std::os::fd::{AsFd, FromRawFd, IntoRawFd};
88
use std::rc::Rc;
9+
#[repr(C)]
910
#[derive(Copy, Clone, Default)]
1011
pub struct GraphNode {
1112
pub dst: u32,
1213
pub next: *mut GraphNode,
1314
}
15+
#[repr(C)]
1416
#[derive(Copy, Clone, Default)]
1517
pub struct Graph {
1618
pub V: u32,

tests/unit/out/unsafe/bounded_struct_ptr.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ use std::collections::BTreeMap;
66
use std::io::{Read, Seek, Write};
77
use std::os::fd::{AsFd, FromRawFd, IntoRawFd};
88
use std::rc::Rc;
9+
#[repr(C)]
910
#[derive(Copy, Clone, Default)]
1011
pub struct Foo {
1112
pub x1: i32,

tests/unit/out/unsafe/bst.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ use std::collections::BTreeMap;
66
use std::io::{Read, Seek, Write};
77
use std::os::fd::{AsFd, FromRawFd, IntoRawFd};
88
use std::rc::Rc;
9+
#[repr(C)]
910
#[derive(Copy, Clone, Default)]
1011
pub struct node_t {
1112
pub left: *mut node_t,

tests/unit/out/unsafe/c_struct.rs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,19 @@ use std::collections::BTreeMap;
66
use std::io::{Read, Seek, Write};
77
use std::os::fd::{AsFd, FromRawFd, IntoRawFd};
88
use std::rc::Rc;
9+
#[repr(C)]
910
#[derive(Copy, Clone, Default)]
1011
pub struct Point {
1112
pub x: i32,
1213
pub y: i32,
1314
}
15+
#[repr(C)]
1416
#[derive(Copy, Clone, Default)]
1517
pub struct Line {
1618
pub start: Point,
1719
pub end: Point,
1820
}
21+
#[repr(C)]
1922
#[derive(Copy, Clone, Default)]
2023
pub struct Node {
2124
pub value: i32,
@@ -28,11 +31,13 @@ enum Color {
2831
GREEN = 1,
2932
BLUE = 2,
3033
}
34+
#[repr(C)]
3135
#[derive(Copy, Clone, Default)]
3236
pub struct Inner {
3337
pub a: i32,
3438
pub b: i32,
3539
}
40+
#[repr(C)]
3641
#[derive(Copy, Clone, Default)]
3742
pub struct Container {
3843
pub inner: Inner,

tests/unit/out/unsafe/class.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ use std::collections::BTreeMap;
66
use std::io::{Read, Seek, Write};
77
use std::os::fd::{AsFd, FromRawFd, IntoRawFd};
88
use std::rc::Rc;
9+
#[repr(C)]
910
#[derive(Copy, Clone, Default)]
1011
pub struct Pair {
1112
pub first: i32,
@@ -42,6 +43,7 @@ impl Pair {
4243
}));
4344
}
4445
}
46+
#[repr(C)]
4547
#[derive(Copy, Clone, Default)]
4648
pub struct Route {
4749
pub path: Pair,

tests/unit/out/unsafe/clone_vs_move.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,12 @@ use std::collections::BTreeMap;
66
use std::io::{Read, Seek, Write};
77
use std::os::fd::{AsFd, FromRawFd, IntoRawFd};
88
use std::rc::Rc;
9+
#[repr(C)]
910
#[derive(Copy, Clone, Default)]
1011
pub struct Bar {
1112
pub w: i32,
1213
}
14+
#[repr(C)]
1315
#[derive(Copy, Clone)]
1416
pub struct Foo {
1517
pub x: i32,

tests/unit/out/unsafe/complex_function.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,12 @@ pub unsafe fn ptr_1(mut x: *mut i32) -> *mut i32 {
1515
pub unsafe fn bar_2(x: *mut i32) -> *mut i32 {
1616
return x;
1717
}
18+
#[repr(C)]
1819
#[derive(Copy, Clone, Default)]
1920
pub struct X1 {
2021
pub v: i32,
2122
}
23+
#[repr(C)]
2224
#[derive(Copy, Clone, Default)]
2325
pub struct X2 {
2426
pub v: *mut X1,
@@ -28,6 +30,7 @@ impl X2 {
2830
return self.v;
2931
}
3032
}
33+
#[repr(C)]
3134
#[derive(Copy, Clone, Default)]
3235
pub struct X3 {
3336
pub v: *mut X2,
@@ -37,6 +40,7 @@ impl X3 {
3740
return self.v;
3841
}
3942
}
43+
#[repr(C)]
4044
#[derive(Copy, Clone, Default)]
4145
pub struct X4 {
4246
pub v: X3,

0 commit comments

Comments
 (0)