You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Doctests will now be tested when running `cargo test --doc --target other_target`, this may result in some amount of breakage due to would-be-failing doctests now being tested.
138
138
139
-
Failing tests can be disabled by annotating the doctest with `ignore-<target>`:
139
+
Failing tests can be disabled by annotating the doctest with `ignore-<target>` ([docs](https://doc.rust-lang.org/stable/rustdoc/write-documentation/documentation-tests.html#ignoring-targets)):
140
140
```rust
141
141
/// ```ignore-x86_64
142
142
/// panic!("something")
143
143
/// ```
144
144
pubfnmy_function() { }
145
145
```
146
146
147
+
### `i128` and `u128` in `extern "C"` functions
148
+
149
+
`i128` and `u128` no longer trigger the `improper_ctypes_definitions` lint, meaning these types may be used in `extern "C"` functions without warning. This comes with some caveats:
150
+
151
+
* The Rust types are ABI- and layout-compatible with (unsigned) `__int128` in C when the type is available.
152
+
* On platforms where `__int128` is not available, `i128` and `u128` do not necessarily align with any C type.
153
+
*`i128` is _not_ necessarily compatible with `_BitInt(128)` on any platform, because `_BitInt(128)` and `__int128` may not have the same ABI (as is the case on x86-64).
154
+
155
+
This is the last bit of follow up to the layout changes from last year: https://blog.rust-lang.org/2024/03/30/i128-layout-update/.
156
+
157
+
### Demoting `x86_64-apple-darwin` to Tier 2 with host tools
158
+
159
+
GitHub will soon [discontinue][gha-sunset] providing free macOS x86\_64 runners for public repositories. Apple has also announced their [plans][apple] for discontinuing support for the x86\_64 architecture.
160
+
161
+
In accordance with these changes, the Rust project is in the [process of demoting the `x86_64-apple-darwin` target][rfc] from [Tier 1 with host tools](https://doc.rust-lang.org/stable/rustc/platform-support.html#tier-1-with-host-tools) to [Tier 2 with host tools](https://doc.rust-lang.org/stable/rustc/platform-support.html#tier-2-with-host-tools). This means that the target, including tools like `rustc` and `cargo`, will be guaranteed to build but is not guaranteed to pass our automated test suite.
162
+
163
+
We expect that the RFC for the demotion to Tier 2 with host tools will be accepted between the releases of Rust 1.89 and 1.90, which means that Rust 1.89 will be the last release of Rust where `x86_64-apple-darwin` is a Tier 1 target.
164
+
165
+
For users, this change will not immediately cause impact. Builds of both the standard library and the compiler will still be distributed by the Rust Project for use via `rustup` or alternative installation methods while the target remains at Tier 2.
### Standards Compliant C ABI on the `wasm32-unknown-unknown` target
172
+
173
+
`extern "C"` functions on the `wasm32-unknown-unknown` target now have a standards compliant ABI. See this blog post for more information: https://blog.rust-lang.org/2025/04/04/c-abi-changes-for-wasm32-unknown-unknown.
174
+
147
175
### Platform Support
148
176
177
+
-[`x86_64-apple-darwin` is in the process of being demoted to Tier 2 with host tools](https://github.com/rust-lang/rfcs/pull/3841)
149
178
-[Add new Tier-3 targets `loongarch32-unknown-none` and `loongarch32-unknown-none-softfloat`](https://github.com/rust-lang/rust/pull/142053)
150
-
-[WASM's C abi is now spec compliant](https://github.com/rust-lang/rust/pull/133952)
151
179
152
180
Refer to Rust’s [platform support page][platform_support_page] for more information on Rust’s tiered platform support.
0 commit comments