Subject: CVS commit: pkgsrc/lang/rust
From: Havard Eidnes
Date: 2024-01-06 20:00:19
Message id: 20240106190019.A332EFA42@cvs.NetBSD.org

Log Message:
rust: update to version 1.74.1.

Pkgsrc changes:

 * Remove NetBSD-8 support (embedded LLVm requires newer C++
   than what is in -8; it's conceivable that this could still
   build with an external LLVM)
 * undo powerpc 9.0 file naming tweak, since we no longer support -8.
 * Remove patch to LLVM for powerpc now included by upstream.
 * Minor adjustments, checksum changes etc.

Upstream changes:

Version 1.74.1 (2023-12-07)
===========================

- [Resolved spurious STATUS_ACCESS_VIOLATIONs in LLVM]
  (https://github.com/rust-lang/rust/pull/118464)
- [Clarify guarantees for std::mem::discriminant]
  (https://github.com/rust-lang/rust/pull/118006)
- [Fix some subtyping-related regressions]
  (https://github.com/rust-lang/rust/pull/116415)

Version 1.74.0 (2023-11-16)
==========================

Language
--------

- [Codify that `std::mem::Discriminant<T>` does not depend on any
  lifetimes in T]
  (https://github.com/rust-lang/rust/pull/104299/)
- [Replace `private_in_public` lint with `private_interfaces` and
  `private_bounds` per RFC 2145]
  (https://github.com/rust-lang/rust/pull/113126/)
  Read more in
  [RFC 2145](https://rust-lang.github.io/rfcs/2145-type-privacy.html).
- [Allow explicit `#[repr(Rust)]`]
  (https://github.com/rust-lang/rust/pull/114201/)
- [closure field capturing: don't depend on alignment of packed fields]
  (https://github.com/rust-lang/rust/pull/115315/)
- [Enable MIR-based drop-tracking for `async` blocks]
  (https://github.com/rust-lang/rust/pull/107421/)

Compiler
--------

- [stabilize combining +bundle and +whole-archive link modifiers]
  (https://github.com/rust-lang/rust/pull/113301/)
- [Stabilize `PATH` option for `--print KIND=PATH`]
  (https://github.com/rust-lang/rust/pull/114183/)
- [Enable ASAN/LSAN/TSAN for `*-apple-ios-macabi`]
  (https://github.com/rust-lang/rust/pull/115644/)
- [Promote loongarch64-unknown-none* to Tier 2]
  (https://github.com/rust-lang/rust/pull/115368/)
- [Add `i686-pc-windows-gnullvm` as a tier 3 target]
  (https://github.com/rust-lang/rust/pull/115687/)

Libraries
---------

- [Implement `From<OwnedFd/Handle>` for ChildStdin/out/err]
  (https://github.com/rust-lang/rust/pull/98704/)
- [Implement `From<{&,&mut} [T; N]>` for `Vec<T>` where `T: \ 
Clone`]
  (https://github.com/rust-lang/rust/pull/111278/)
- [impl Step for IP addresses]
  (https://github.com/rust-lang/rust/pull/113748/)
- [Implement `From<[T; N]>` for `Rc<[T]>` and `Arc<[T]>`]
  (https://github.com/rust-lang/rust/pull/114041/)
- [`impl TryFrom<char> for u16`]
  (https://github.com/rust-lang/rust/pull/114065/)
- [Stabilize `io_error_other` feature]
  (https://github.com/rust-lang/rust/pull/115453/)
- [Stabilize the `Saturating` type]
  (https://github.com/rust-lang/rust/pull/115477/)
- [Stabilize const_transmute_copy]
  (https://github.com/rust-lang/rust/pull/115520/)

Stabilized APIs
---------------

- [`core::num::Saturating`]
  (https://doc.rust-lang.org/stable/std/num/struct.Saturating.html)
- [`impl From<io::Stdout> for std::process::Stdio`]
  \ 
(https://doc.rust-lang.org/stable/std/process/struct.Stdio.html#impl-From%3CStdout%3E-for-Stdio)
- [`impl From<io::Stderr> for std::process::Stdio`]
  \ 
(https://doc.rust-lang.org/stable/std/process/struct.Stdio.html#impl-From%3CStderr%3E-for-Stdio)
- [`impl From<OwnedHandle> for std::process::Child{Stdin, Stdout, Stderr}`]
  \ 
(https://doc.rust-lang.org/stable/std/process/struct.Stdio.html#impl-From%3CStderr%3E-for-Stdio)
- [`impl From<OwnedFd> for std::process::Child{Stdin, Stdout, Stderr}`]
  \ 
(https://doc.rust-lang.org/stable/std/process/struct.Stdio.html#impl-From%3CStderr%3E-for-Stdio)
- [`std::ffi::OsString::from_encoded_bytes_unchecked`]
  \ 
(https://doc.rust-lang.org/stable/std/ffi/struct.OsString.html#method.from_encoded_bytes_unchecked)
- [`std::ffi::OsString::into_encoded_bytes`]
  \ 
(https://doc.rust-lang.org/stable/std/ffi/struct.OsString.html#method.into_encoded_bytes)
- [`std::ffi::OsStr::from_encoded_bytes_unchecked`]
  \ 
(https://doc.rust-lang.org/stable/std/ffi/struct.OsStr.html#method.from_encoded_bytes_unchecked)
- [`std::ffi::OsStr::as_encoded_bytes`]
  \ 
(https://doc.rust-lang.org/stable/std/ffi/struct.OsStr.html#method.as_encoded_bytes)
- [`std::io::Error::other`]
  (https://doc.rust-lang.org/stable/std/io/struct.Error.html#method.other)
- [`impl TryFrom<char> for u16`]
  \ 
(https://doc.rust-lang.org/stable/std/primitive.u16.html#impl-TryFrom%3Cchar%3E-for-u16)
- [`impl<T: Clone, const N: usize> From<&[T; N]> for Vec<T>`]
  \ 
(https://doc.rust-lang.org/stable/std/vec/struct.Vec.html#impl-From%3C%26%5BT;+N%5D%3E-for-Vec%3CT,+Global%3E)
- [`impl<T: Clone, const N: usize> From<&mut [T; N]> for \ 
Vec<T>`]
  \ 
(https://doc.rust-lang.org/stable/std/vec/struct.Vec.html#impl-From%3C%26mut+%5BT;+N%5D%3E-for-Vec%3CT,+Global%3E)
- [`impl<T, const N: usize> From<[T; N]> for Arc<[T]>`]
  \ 
(https://doc.rust-lang.org/stable/std/sync/struct.Arc.html#impl-From%3C%5BT;+N%5D%3E-for-Arc%3C%5BT%5D,+Global%3E)
- [`impl<T, const N: usize> From<[T; N]> for Rc<[T]>`]
  \ 
(https://doc.rust-lang.org/stable/std/rc/struct.Rc.html#impl-From%3C%5BT;+N%5D%3E-for-Rc%3C%5BT%5D,+Global%3E)

These APIs are now stable in const contexts:

- [`core::mem::transmute_copy`]
  (https://doc.rust-lang.org/beta/std/mem/fn.transmute_copy.html)
- [`str::is_ascii`]
  (https://doc.rust-lang.org/beta/std/primitive.str.html#method.is_ascii)
- [`[u8]::is_ascii`]
  (https://doc.rust-lang.org/beta/std/primitive.slice.html#method.is_ascii)

Cargo
-----

- [fix: Set MSRV for internal packages]
  (https://github.com/rust-lang/cargo/pull/12381/)
- [config: merge lists in precedence order]
  (https://github.com/rust-lang/cargo/pull/12515/)
- [fix(update): Clarify meaning of --aggressive as --recursive]
  (https://github.com/rust-lang/cargo/pull/12544/)
- [fix(update): Make `-p` more convenient by being positional]
  (https://github.com/rust-lang/cargo/pull/12545/)
- [feat(help): Add styling to help output ]
  (https://github.com/rust-lang/cargo/pull/12578/)
- [feat(pkgid): Allow incomplete versions when unambigious]
  (https://github.com/rust-lang/cargo/pull/12614/)
- [feat: stabilize credential-process and registry-auth]
  (https://github.com/rust-lang/cargo/pull/12649/)
- [feat(cli): Add '-n' to dry-run]
  (https://github.com/rust-lang/cargo/pull/12660/)
- [Add support for `target.'cfg(..)'.linker`]
  (https://github.com/rust-lang/cargo/pull/12535/)
- [Stabilize `--keep-going`]
  (https://github.com/rust-lang/cargo/pull/12568/)
- [feat: Stabilize lints]
  (https://github.com/rust-lang/cargo/pull/12648/)

Rustdoc
-------

- [Add warning block support in rustdoc]
  (https://github.com/rust-lang/rust/pull/106561/)
- [Accept additional user-defined syntax classes in fenced code blocks]
  (https://github.com/rust-lang/rust/pull/110800/)
- [rustdoc-search: add support for type parameters]
  (https://github.com/rust-lang/rust/pull/112725/)
- [rustdoc: show inner enum and struct in type definition for concrete type]
  (https://github.com/rust-lang/rust/pull/114855/)

Compatibility Notes
-------------------

- [Raise minimum supported Apple OS versions]
  (https://github.com/rust-lang/rust/pull/104385/)
- [make Cell::swap panic if the Cells partially overlap]
  (https://github.com/rust-lang/rust/pull/114795/)
- [Reject invalid crate names in `--extern`]
  (https://github.com/rust-lang/rust/pull/116001/)
- [Don't resolve generic impls that may be shadowed by dyn built-in impls]
  (https://github.com/rust-lang/rust/pull/114941/)

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.

None this cycle.

Files:
RevisionActionfile
1.299modifypkgsrc/lang/rust/Makefile
1.165modifypkgsrc/lang/rust/distinfo
1.15modifypkgsrc/lang/rust/patches/patch-compiler_rustc__llvm_build.rs
1.10modifypkgsrc/lang/rust/patches/patch-compiler_rustc__target_src_spec_i586__unknown__netbsd.rs
1.15modifypkgsrc/lang/rust/patches/patch-library_std_src_sys_unix_thread.rs
1.21modifypkgsrc/lang/rust/patches/patch-src_bootstrap_bootstrap.py
1.29modifypkgsrc/lang/rust/patches/patch-src_bootstrap_builder.rs
1.13modifypkgsrc/lang/rust/patches/patch-vendor_cc_src_lib.rs
1.5modifypkgsrc/lang/rust/patches/patch-vendor_libc-0.2.138_src_unix_bsd_netbsdlike_netbsd_mod.rs
1.2modifypkgsrc/lang/rust/patches/patch-vendor_libc-0.2.146_src_unix_bsd_netbsdlike_netbsd_mod.rs
1.9modifypkgsrc/lang/rust/patches/patch-vendor_libc_src_unix_bsd_netbsdlike_netbsd_mod.rs
1.1removepkgsrc/lang/rust/patches/patch-src_llvm-project_llvm_lib_Target_PowerPC_PPCISelLowering.cpp