Commit d3a1d62
committed
lang/rust: update to version 1.86.0 from pkgsrc-wip.
Pkgsrc changes:
* Drop support for building now old 1.76.0 rust natively on 32-bit
NetBSD arm ports, pushing those to use the rust-bin variant instead.
* Use of newer GCC on NetBSD/powerpc turned out to not be required,
given that your kernel and user-land is new enough. >= 10.0 release?
* Checksum updates.
Upstream changes:
Version 1.86.0 (2025-04-03)
==========================
Language
--------
- [Stabilize upcasting trait objects to supertraits.]
(rust-lang/rust#134367)
- [Allow safe functions to be marked with the `#[target_feature]` attribute.]
(rust-lang/rust#134090)
- [The `missing_abi` lint now warns-by-default.]
(rust-lang/rust#132397)
- Rust now lints about double negations, to catch cases that might
have intended to be a prefix decrement operator (`--x`) as written
in other languages. This was previously a clippy lint,
`clippy::double_neg`, and is [now available directly in Rust as
`double_negations`.]
(rust-lang/rust#126604)
- [More pointers are now detected as definitely not-null based on
their alignment in const eval.]
(rust-lang/rust#133700)
- [Empty `repr()` attribute applied to invalid items are now
correctly rejected.]
(rust-lang/rust#133925)
- [Inner attributes `#![test]` and `#![rustfmt::skip]` are no longer
accepted in more places than intended.]
(rust-lang/rust#134276)
Compiler
--------
- [Debug-assert that raw pointers are non-null on access.]
(rust-lang/rust#134424)
- [Change `-O` to mean `-C opt-level=3` instead of `-C opt-level=2`
to match Cargo's defaults.]
(rust-lang/rust#135439)
- [Fix emission of `overflowing_literals` under certain macro environments.]
(rust-lang/rust#136393)
Platform Support
----------------
- [Replace `i686-unknown-redox` target with `i586-unknown-redox`.]
(rust-lang/rust#136698)
- [Increase baseline CPU of `i686-unknown-hurd-gnu` to Pentium 4.]
(rust-lang/rust#136700)
- New tier 3 targets:
- [`{aarch64-unknown,x86_64-pc}-nto-qnx710_iosock`]
(rust-lang/rust#133631).
For supporting Neutrino QNX 7.1 with `io-socket` network stack.
- [`{aarch64-unknown,x86_64-pc}-nto-qnx800`]
(rust-lang/rust#133631).
For supporting Neutrino QNX 8.0 (`no_std`-only).
- [`{x86_64,i686}-win7-windows-gnu`]
(rust-lang/rust#134609).
Intended for backwards compatibility with Windows 7.
`{x86_64,i686}-win7-windows-msvc` are the Windows MSVC counterparts
that already exist as Tier 3 targets.
- [`amdgcn-amd-amdhsa`](rust-lang/rust#134740).
- [`x86_64-pc-cygwin`](rust-lang/rust#134999).
- [`{mips,mipsel}-mti-none-elf`]
(rust-lang/rust#135074).
Initial bare-metal support.
- [`m68k-unknown-none-elf`](rust-lang/rust#135085).
- [`armv7a-nuttx-{eabi,eabihf}`, `aarch64-unknown-nuttx`, and
`thumbv7a-nuttx-{eabi,eabihf}`]
(rust-lang/rust#135757).
Refer to Rust's [platform support page][platform-support-doc]
for more information on Rust's tiered platform support.
Libraries
---------
- The type of `FromBytesWithNulError` in `CStr::from_bytes_with_nul(bytes:
&[u8]) -> Result<&Self, FromBytesWithNulError>` was [changed from
an opaque struct to an enum]
(rust-lang/rust#134143), allowing users
to examine why the conversion failed.
- [Remove `RustcDecodable` and `RustcEncodable`.]
(rust-lang/rust#134272)
- [Deprecate libtest's `--logfile` option.]
(rust-lang/rust#134283)
- [On recent versions of Windows, `std::fs::remove_file` will now
remove read-only files.]
(rust-lang/rust#134679)
Stabilized APIs
---------------
- [`{float}::next_down`]
(https://doc.rust-lang.org/stable/std/primitive.f64.html#method.next_down)
- [`{float}::next_up`]
(https://doc.rust-lang.org/stable/std/primitive.f64.html#method.next_up)
- [`<[_]>::get_disjoint_mut`]
(https://doc.rust-lang.org/stable/std/primitive.slice.html#method.get_disjoint_mut)
- [`<[_]>::get_disjoint_unchecked_mut`]
(https://doc.rust-lang.org/stable/std/primitive.slice.html#method.get_disjoint_unchecked_mut)
- [`slice::GetDisjointMutError`]
(https://doc.rust-lang.org/stable/std/slice/enum.GetDisjointMutError.html)
- [`HashMap::get_disjoint_mut`]
(https://doc.rust-lang.org/std/collections/hash_map/struct.HashMap.html#method.get_disjoint_mut)
- [`HashMap::get_disjoint_unchecked_mut`]
(https://doc.rust-lang.org/std/collections/hash_map/struct.HashMap.html#method.get_disjoint_unchecked_mut)
- [`NonZero::count_ones`]
(https://doc.rust-lang.org/stable/std/num/struct.NonZero.html#method.count_ones)
- [`Vec::pop_if`]
(https://doc.rust-lang.org/std/vec/struct.Vec.html#method.pop_if)
- [`sync::Once::wait`]
(https://doc.rust-lang.org/stable/std/sync/struct.Once.html#method.wait)
- [`sync::Once::wait_force`]
(https://doc.rust-lang.org/stable/std/sync/struct.Once.html#method.wait_force)
- [`sync::OnceLock::wait`]
(https://doc.rust-lang.org/stable/std/sync/struct.OnceLock.html#method.wait)
These APIs are now stable in const contexts:
- [`hint::black_box`]
(https://doc.rust-lang.org/stable/std/hint/fn.black_box.html)
- [`io::Cursor::get_mut`]
(https://doc.rust-lang.org/stable/std/io/struct.Cursor.html#method.get_mut)
- [`io::Cursor::set_position`]
(https://doc.rust-lang.org/stable/std/io/struct.Cursor.html#method.set_position)
- [`str::is_char_boundary`]
(https://doc.rust-lang.org/stable/std/primitive.str.html#method.is_char_boundary)
- [`str::split_at`]
(https://doc.rust-lang.org/stable/std/primitive.str.html#method.split_at)
- [`str::split_at_checked`]
(https://doc.rust-lang.org/stable/std/primitive.str.html#method.split_at_checked)
- [`str::split_at_mut`]
(https://doc.rust-lang.org/stable/std/primitive.str.html#method.split_at_mut)
- [`str::split_at_mut_checked`]
(https://doc.rust-lang.org/stable/std/primitive.str.html#method.split_at_mut_checked)
Cargo
-----
- [When merging, replace rather than combine configuration keys
that refer to a program path and its arguments.]
(rust-lang/cargo#15066)
- [Error if both `--package` and `--workspace` are passed but the
requested package is missing.]
(rust-lang/cargo#15071) This was previously
silently ignored, which was considered a bug since missing packages
should be reported.
- [Deprecate the token argument in `cargo login` to avoid shell history leaks.]
(rust-lang/cargo#15057)
- [Simplify the implementation of `SourceID` comparisons.]
(rust-lang/cargo#14980) This may
potentially change behavior if the canonicalized URL compares
differently in alternative registries.
Rustdoc
-----
- [Add a sans-serif font setting.]
(rust-lang/rust#133636)
Compatibility Notes
-------------------
- [The `wasm_c_abi` future compatibility warning is now a hard error.]
(rust-lang/rust#133951)
Users of `wasm-bindgen` should upgrade to at least version 0.2.89,
otherwise compilation will fail.
- [Remove long-deprecated no-op attributes `#![no_start]` and `#![crate_id]`.]
(rust-lang/rust#134300)
- [The future incompatibility lint `cenum_impl_drop_cast` has been
made into a hard error.]
(rust-lang/rust#135964) This means it is
now an error to cast a field-less enum to an integer if the enum
implements `Drop`.
- [SSE2 is now required for "i686" 32-bit x86 hard-float targets;
disabling it causes a warning that will become a hard error
eventually.]
(rust-lang/rust#137037) To compile for
pre-SSE2 32-bit x86, use a "i586" target instead.
Internal Changes
----------------
These changes do not affect any public interfaces of Rust, but they represent
significant improvements to the performance or internals of rustc and related
tools.
- [Build the rustc on AArch64 Linux with ThinLTO + PGO.]
(rust-lang/rust#133807)
The ARM 64-bit compiler (AArch64) on Linux is now optimized with
ThinLTO and PGO, similar to the optimizations we have already
performed for the x86-64 compiler on Linux. This should make it
up to 30% faster.1 parent 6e85a42 commit d3a1d62
File tree
20 files changed
+279
-279
lines changed- lang/rust
- patches
20 files changed
+279
-279
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
2 | 2 | | |
3 | | - | |
| 3 | + | |
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| |||
52 | 52 | | |
53 | 53 | | |
54 | 54 | | |
| 55 | + | |
| 56 | + | |
55 | 57 | | |
56 | 58 | | |
57 | 59 | | |
| |||
65 | 67 | | |
66 | 68 | | |
67 | 69 | | |
68 | | - | |
69 | 70 | | |
| 71 | + | |
70 | 72 | | |
71 | 73 | | |
72 | 74 | | |
| |||
212 | 214 | | |
213 | 215 | | |
214 | 216 | | |
215 | | - | |
| 217 | + | |
216 | 218 | | |
217 | 219 | | |
218 | 220 | | |
219 | 221 | | |
220 | 222 | | |
221 | 223 | | |
222 | | - | |
| 224 | + | |
223 | 225 | | |
224 | 226 | | |
225 | 227 | | |
226 | 228 | | |
227 | 229 | | |
228 | 230 | | |
229 | | - | |
| 231 | + | |
230 | 232 | | |
231 | 233 | | |
232 | 234 | | |
233 | 235 | | |
234 | 236 | | |
235 | 237 | | |
236 | | - | |
| 238 | + | |
237 | 239 | | |
238 | 240 | | |
239 | 241 | | |
240 | 242 | | |
241 | 243 | | |
242 | 244 | | |
243 | | - | |
| 245 | + | |
244 | 246 | | |
245 | 247 | | |
246 | 248 | | |
247 | 249 | | |
248 | 250 | | |
249 | 251 | | |
250 | | - | |
| 252 | + | |
251 | 253 | | |
252 | 254 | | |
253 | 255 | | |
254 | 256 | | |
255 | 257 | | |
256 | 258 | | |
257 | | - | |
| 259 | + | |
258 | 260 | | |
259 | 261 | | |
260 | 262 | | |
| |||
279 | 281 | | |
280 | 282 | | |
281 | 283 | | |
282 | | - | |
| 284 | + | |
283 | 285 | | |
284 | 286 | | |
285 | 287 | | |
286 | 288 | | |
287 | 289 | | |
288 | 290 | | |
289 | | - | |
| 291 | + | |
290 | 292 | | |
291 | 293 | | |
292 | 294 | | |
| |||
306 | 308 | | |
307 | 309 | | |
308 | 310 | | |
309 | | - | |
| 311 | + | |
310 | 312 | | |
311 | 313 | | |
312 | 314 | | |
313 | 315 | | |
314 | 316 | | |
315 | 317 | | |
316 | | - | |
| 318 | + | |
317 | 319 | | |
318 | 320 | | |
319 | 321 | | |
| |||
322 | 324 | | |
323 | 325 | | |
324 | 326 | | |
325 | | - | |
| 327 | + | |
326 | 328 | | |
327 | 329 | | |
328 | 330 | | |
| |||
331 | 333 | | |
332 | 334 | | |
333 | 335 | | |
334 | | - | |
| 336 | + | |
335 | 337 | | |
336 | 338 | | |
337 | 339 | | |
| |||
340 | 342 | | |
341 | 343 | | |
342 | 344 | | |
343 | | - | |
| 345 | + | |
344 | 346 | | |
345 | 347 | | |
346 | 348 | | |
| |||
350 | 352 | | |
351 | 353 | | |
352 | 354 | | |
353 | | - | |
| 355 | + | |
354 | 356 | | |
355 | 357 | | |
356 | 358 | | |
| |||
359 | 361 | | |
360 | 362 | | |
361 | 363 | | |
362 | | - | |
| 364 | + | |
363 | 365 | | |
364 | 366 | | |
365 | 367 | | |
| |||
368 | 370 | | |
369 | 371 | | |
370 | 372 | | |
371 | | - | |
| 373 | + | |
372 | 374 | | |
373 | 375 | | |
374 | 376 | | |
| |||
377 | 379 | | |
378 | 380 | | |
379 | 381 | | |
380 | | - | |
| 382 | + | |
381 | 383 | | |
382 | 384 | | |
383 | 385 | | |
| |||
439 | 441 | | |
440 | 442 | | |
441 | 443 | | |
442 | | - | |
443 | | - | |
444 | | - | |
445 | | - | |
446 | | - | |
447 | | - | |
448 | 444 | | |
449 | 445 | | |
450 | 446 | | |
| |||
493 | 489 | | |
494 | 490 | | |
495 | 491 | | |
| 492 | + | |
| 493 | + | |
| 494 | + | |
| 495 | + | |
496 | 496 | | |
497 | 497 | | |
498 | 498 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
| |||
0 commit comments