Commit afef0e8
authored
refactor: Update
* Fix reorganize_definitions test: the test (and probably all the
refactoring tests) has bitrotted; get it working again
* Add repro of statvfs issue from python2: reproduce the issue
encountered by the python2 test on Ubuntu 22.04 where the `statvfs`
structure has a private field that we cannot use
* Check visibility when comparing structural equivalence for function
signatures
* Deep match visibility when comparing function signatures: updates to
the algorithm we use to match equivalent types and function signatures.
* Enable more transforms on the python2 integration test.
When matching between two types to determine whether they can be
unified, we now account for differences in visibility because importing
a structure with private types from an external crate (e.g. `libc`)
makes them unusable to us when trying to construct new values of those
types. The motivating example is `statvfs`:
```rust
pub struct statvfs {
pub f_bsize: c_ulong,
pub f_frsize: c_ulong,
pub f_blocks: crate::fsblkcnt_t,
pub f_bfree: crate::fsblkcnt_t,
pub f_bavail: crate::fsblkcnt_t,
pub f_files: crate::fsfilcnt_t,
pub f_ffree: crate::fsfilcnt_t,
pub f_favail: crate::fsfilcnt_t,
pub f_fsid: c_ulong,
pub f_flag: c_ulong,
pub f_namemax: c_ulong,
__f_spare: [c_int; 6],
}
```reorganize_definitions test and fix some issues (#1484)File tree
4 files changed
+274
-40
lines changed- c2rust-refactor
- src
- transform
- tests/reorganize_definitions
4 files changed
+274
-40
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
788 | 788 | | |
789 | 789 | | |
790 | 790 | | |
791 | | - | |
792 | | - | |
793 | | - | |
| 791 | + | |
| 792 | + | |
| 793 | + | |
| 794 | + | |
| 795 | + | |
| 796 | + | |
794 | 797 | | |
795 | 798 | | |
796 | 799 | | |
| |||
1062 | 1065 | | |
1063 | 1066 | | |
1064 | 1067 | | |
1065 | | - | |
1066 | | - | |
| 1068 | + | |
| 1069 | + | |
| 1070 | + | |
| 1071 | + | |
| 1072 | + | |
1067 | 1073 | | |
1068 | 1074 | | |
1069 | 1075 | | |
| |||
1072 | 1078 | | |
1073 | 1079 | | |
1074 | 1080 | | |
1075 | | - | |
| 1081 | + | |
| 1082 | + | |
| 1083 | + | |
| 1084 | + | |
| 1085 | + | |
| 1086 | + | |
| 1087 | + | |
1076 | 1088 | | |
1077 | 1089 | | |
1078 | 1090 | | |
| |||
1081 | 1093 | | |
1082 | 1094 | | |
1083 | 1095 | | |
1084 | | - | |
| 1096 | + | |
1085 | 1097 | | |
1086 | 1098 | | |
1087 | 1099 | | |
| |||
1102 | 1114 | | |
1103 | 1115 | | |
1104 | 1116 | | |
1105 | | - | |
| 1117 | + | |
1106 | 1118 | | |
1107 | 1119 | | |
1108 | 1120 | | |
| |||
1139 | 1151 | | |
1140 | 1152 | | |
1141 | 1153 | | |
1142 | | - | |
1143 | | - | |
| 1154 | + | |
| 1155 | + | |
| 1156 | + | |
| 1157 | + | |
| 1158 | + | |
| 1159 | + | |
| 1160 | + | |
| 1161 | + | |
| 1162 | + | |
| 1163 | + | |
| 1164 | + | |
| 1165 | + | |
1144 | 1166 | | |
1145 | 1167 | | |
1146 | | - | |
| 1168 | + | |
| 1169 | + | |
| 1170 | + | |
| 1171 | + | |
| 1172 | + | |
| 1173 | + | |
| 1174 | + | |
1147 | 1175 | | |
1148 | 1176 | | |
1149 | 1177 | | |
| |||
1159 | 1187 | | |
1160 | 1188 | | |
1161 | 1189 | | |
| 1190 | + | |
| 1191 | + | |
| 1192 | + | |
| 1193 | + | |
1162 | 1194 | | |
1163 | 1195 | | |
1164 | 1196 | | |
| |||
1177 | 1209 | | |
1178 | 1210 | | |
1179 | 1211 | | |
1180 | | - | |
| 1212 | + | |
| 1213 | + | |
| 1214 | + | |
| 1215 | + | |
| 1216 | + | |
| 1217 | + | |
| 1218 | + | |
1181 | 1219 | | |
1182 | 1220 | | |
1183 | 1221 | | |
| |||
1192 | 1230 | | |
1193 | 1231 | | |
1194 | 1232 | | |
1195 | | - | |
| 1233 | + | |
1196 | 1234 | | |
1197 | 1235 | | |
1198 | 1236 | | |
| |||
1208 | 1246 | | |
1209 | 1247 | | |
1210 | 1248 | | |
1211 | | - | |
| 1249 | + | |
1212 | 1250 | | |
1213 | 1251 | | |
1214 | 1252 | | |
| |||
1223 | 1261 | | |
1224 | 1262 | | |
1225 | 1263 | | |
1226 | | - | |
| 1264 | + | |
1227 | 1265 | | |
1228 | 1266 | | |
1229 | 1267 | | |
1230 | 1268 | | |
1231 | 1269 | | |
1232 | 1270 | | |
1233 | | - | |
| 1271 | + | |
1234 | 1272 | | |
1235 | 1273 | | |
1236 | 1274 | | |
1237 | | - | |
| 1275 | + | |
| 1276 | + | |
| 1277 | + | |
| 1278 | + | |
| 1279 | + | |
| 1280 | + | |
| 1281 | + | |
| 1282 | + | |
| 1283 | + | |
1238 | 1284 | | |
| 1285 | + | |
| 1286 | + | |
| 1287 | + | |
1239 | 1288 | | |
1240 | 1289 | | |
1241 | 1290 | | |
1242 | 1291 | | |
1243 | | - | |
| 1292 | + | |
1244 | 1293 | | |
1245 | 1294 | | |
1246 | 1295 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
361 | 361 | | |
362 | 362 | | |
363 | 363 | | |
364 | | - | |
| 364 | + | |
365 | 365 | | |
366 | 366 | | |
367 | 367 | | |
| |||
1547 | 1547 | | |
1548 | 1548 | | |
1549 | 1549 | | |
1550 | | - | |
| 1550 | + | |
1551 | 1551 | | |
1552 | 1552 | | |
1553 | 1553 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
| 3 | + | |
3 | 4 | | |
4 | 5 | | |
5 | 6 | | |
| |||
8 | 9 | | |
9 | 10 | | |
10 | 11 | | |
11 | | - | |
12 | | - | |
13 | | - | |
14 | | - | |
15 | | - | |
16 | 12 | | |
17 | 13 | | |
18 | 14 | | |
19 | 15 | | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
20 | 20 | | |
| 21 | + | |
21 | 22 | | |
22 | 23 | | |
23 | 24 | | |
24 | 25 | | |
25 | 26 | | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
26 | 30 | | |
27 | 31 | | |
28 | 32 | | |
29 | 33 | | |
30 | 34 | | |
31 | 35 | | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
32 | 74 | | |
33 | 75 | | |
34 | 76 | | |
| |||
45 | 87 | | |
46 | 88 | | |
47 | 89 | | |
48 | | - | |
49 | | - | |
50 | | - | |
51 | | - | |
52 | | - | |
53 | | - | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
54 | 94 | | |
55 | 95 | | |
56 | 96 | | |
| |||
59 | 99 | | |
60 | 100 | | |
61 | 101 | | |
62 | | - | |
| 102 | + | |
63 | 103 | | |
64 | 104 | | |
65 | 105 | | |
| |||
71 | 111 | | |
72 | 112 | | |
73 | 113 | | |
74 | | - | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
75 | 138 | | |
76 | 139 | | |
77 | 140 | | |
| |||
0 commit comments