Subject: CVS commit: pkgsrc/lang/rust
From: pin
Date: 2023-10-10 15:12:33
Message id: 20231010131234.4E15CFADC@cvs.NetBSD.org

Log Message:
lang/rust: update to 1.71.1

Packaged by he@ and adam@ in wip
Merge request by gdt@

v1.71.1
 - Fix CVE-2023-38497: Cargo did not respect the umask when extracting
   dependencies
 - Fix bash completion for users of Rustup
 - Do not show suspicious_double_ref_op lint when calling borrow()
 - Fix ICE: substitute types before checking inlining compatibility
 - Fix ICE: don't use can_eq in derive(..) suggestion for missing method
 - Fix building Rust 1.71.0 from the source tarball

v1.71.0
Language
 - Stabilize raw-dylib, link_ordinal, import_name_type and -Cdlltool.
 - Uplift clippy::{drop,forget}_{ref,copy} lints.
 - Type inference is more conservative around constrained vars.
 - Use fulfillment to check Drop impl compatibility

Compiler
 - Evaluate place expression in PlaceMention, making let _ = patterns more
   consistent with respect to the borrow checker.
 - Add --print deployment-target flag for Apple targets.
 - Stabilize extern "C-unwind" and friends. The existing extern \ 
"C" etc. may
   change behavior for cross-language unwinding in a future release.
 - Update the version of musl used on *-linux-musl targets to 1.2.3, enabling
   time64 on 32-bit systems.
 - Stabilize debugger_visualizer for embedding metadata like Microsoft's Natvis.
 - Enable flatten-format-args by default.
 - Make Self respect tuple constructor privacy.
 - Improve niche placement by trying two strategies and picking the better
   result.
 - Use apple-m1 as the target CPU for aarch64-apple-darwin.
 - Add Tier 3 support for the x86_64h-apple-darwin target.
 - Promote loongarch64-unknown-linux-gnu to Tier 2 with host tools.

Refer to Rust's platform support page for more information on Rust's tiered
platform support.

Libraries
 - Rework handling of recursive panics. Additional panics are allowed while
   unwinding, as long as they are caught before escaping a Drop implementation,
   but panicking within a panic hook is now an immediate abort.
 - Loosen From<&[T]> for Box<[T]> bound to T: Clone.
 - Remove unnecessary T: Send bound in Error for mpsc::SendError<T> and
   TrySendError<T>.
 - Fix docs for alloc::realloc to match Layout requirements that the size must
   not exceed isize::MAX.
 - Document const {} syntax for std::thread_local. This syntax was stabilized
   in Rust 1.59, but not previously mentioned in release notes.

Stabilized APIs
    CStr::is_empty
    BuildHasher::hash_one
    NonZeroI*::is_positive
    NonZeroI*::is_negative
    NonZeroI*::checked_neg
    NonZeroI*::overflowing_neg
    NonZeroI*::saturating_neg
    NonZeroI*::wrapping_neg
    Neg for NonZeroI*
    Neg for &NonZeroI*
    From<[T; N]> for (T...) (array to N-tuple for N in 1..=12)
    From<(T...)> for [T; N] (N-tuple to array for N in 1..=12)
    windows::io::AsHandle for Box<T>
    windows::io::AsHandle for Rc<T>
    windows::io::AsHandle for Arc<T>
    windows::io::AsSocket for Box<T>
    windows::io::AsSocket for Rc<T>
    windows::io::AsSocket for Arc<T>

These APIs are now stable in const contexts:
    <*const T>::read
    <*const T>::read_unaligned
    <*mut T>::read
    <*mut T>::read_unaligned
    ptr::read
    ptr::read_unaligned
    <[T]>::split_at

Cargo
 - Allow named debuginfo options in Cargo.toml.
 - Add workspace_default_members to the output of cargo metadata.
 - Automatically inherit workspace fields when running cargo new/cargo init.

Rustdoc
 - Add a new rustdoc::unescaped_backticks lint for broken inline code.
 - Support strikethrough with single tildes. (~~old~~ vs. ~new~)

Compatibility Notes
 - Remove structural match from TypeId. Code that uses a constant TypeId in a
   pattern will potentially be broken. Known cases have already been fixed
   -- in particular, users of the log crate's kv_unstable feature should update
   to log v0.4.18 or later.
 - Add a sysroot crate to represent the standard library crates. This does not
   affect stable users, but may require adjustment in tools that build their
   own standard library.
 - Cargo optimizes its usage under rustup. When Cargo detects it will run rustc
   pointing to a rustup proxy, it'll try bypassing the proxy and use the
   underlying binary directly. There are assumptions around the interaction
   with rustup and RUSTUP_TOOLCHAIN. However, it's not expected to affect
   normal users.
 - When querying a package, Cargo tries only the original name, all hyphens,
   and all underscores to handle misspellings. Previously, Cargo tried each
   combination of hyphens and underscores, causing excessive requests to
   crates.io.
 - Cargo now disallows RUSTUP_HOME and RUSTUP_TOOLCHAIN in the [env]
   configuration table. This is considered to be not a use case Cargo would
   like to support, since it will likely cause problems or lead to confusion.

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.

Files:
RevisionActionfile
1.290modifypkgsrc/lang/rust/Makefile
1.13modifypkgsrc/lang/rust/buildlink3.mk
1.161modifypkgsrc/lang/rust/distinfo
1.32modifypkgsrc/lang/rust/options.mk
1.19modifypkgsrc/lang/rust/platform.mk
1.11modifypkgsrc/lang/rust/patches/patch-compiler_rustc__codegen__ssa_src_back_linker.rs
1.12modifypkgsrc/lang/rust/patches/patch-compiler_rustc__llvm_build.rs
1.6modifypkgsrc/lang/rust/patches/patch-compiler_rustc__target_src_spec_aarch64__be__unknown__netbsd.rs
1.8modifypkgsrc/lang/rust/patches/patch-compiler_rustc__target_src_spec_i586__unknown__netbsd.rs
1.2modifypkgsrc/lang/rust/patches/patch-compiler_rustc__target_src_spec_mips64el__unknown__netbsd.rs
1.3modifypkgsrc/lang/rust/patches/patch-compiler_rustc__target_src_spec_mipsel__unknown__netbsd.rs
1.14modifypkgsrc/lang/rust/patches/patch-compiler_rustc__target_src_spec_mod.rs
1.8modifypkgsrc/lang/rust/patches/patch-compiler_rustc__target_src_spec_netbsd__base.rs
1.2modifypkgsrc/lang/rust/patches/patch-compiler_rustc__target_src_spec_riscv64gc__unknown__netbsd.rs
1.4modifypkgsrc/lang/rust/patches/patch-library_backtrace_src_symbolize_gimli.rs
1.5modifypkgsrc/lang/rust/patches/patch-library_backtrace_src_symbolize_gimli_elf.rs
1.2modifypkgsrc/lang/rust/patches/patch-library_core_src_ffi_mod.rs
1.8modifypkgsrc/lang/rust/patches/patch-library_std_src_sys_unix_mod.rs
1.13modifypkgsrc/lang/rust/patches/patch-library_std_src_sys_unix_thread.rs
1.2modifypkgsrc/lang/rust/patches/patch-library_std_src_sys_unix_thread__parking_netbsd.rs
1.19modifypkgsrc/lang/rust/patches/patch-src_bootstrap_bootstrap.py
1.26modifypkgsrc/lang/rust/patches/patch-src_bootstrap_builder.rs
1.13modifypkgsrc/lang/rust/patches/patch-src_bootstrap_compile.rs
1.20modifypkgsrc/lang/rust/patches/patch-src_bootstrap_lib.rs
1.2modifypkgsrc/lang/rust/patches/patch-src_bootstrap_llvm.rs
1.12modifypkgsrc/lang/rust/patches/patch-src_llvm-project_llvm_CMakeLists.txt
1.13modifypkgsrc/lang/rust/patches/patch-src_llvm-project_llvm_cmake_modules_AddLLVM.cmake
1.6modifypkgsrc/lang/rust/patches/patch-src_llvm-project_llvm_include_llvm-c_DataTypes.h
1.8modifypkgsrc/lang/rust/patches/patch-src_llvm-project_llvm_include_llvm_Analysis_ConstantFolding.h
1.2modifypkgsrc/lang/rust/patches/patch-src_llvm-project_llvm_lib_Support_BLAKE3_blake3__impl.h
1.11modifypkgsrc/lang/rust/patches/patch-src_llvm-project_llvm_utils_FileCheck_FileCheck.cpp
1.15modifypkgsrc/lang/rust/patches/patch-src_tools_cargo_src_cargo_core_profiles.rs
1.12modifypkgsrc/lang/rust/patches/patch-src_tools_cargo_tests_testsuite_build.rs
1.10modifypkgsrc/lang/rust/patches/patch-src_tools_rust-installer_install-template.sh
1.4modifypkgsrc/lang/rust/patches/patch-vendor_backtrace_src_symbolize_gimli.rs
1.6modifypkgsrc/lang/rust/patches/patch-vendor_backtrace_src_symbolize_gimli_elf.rs
1.2modifypkgsrc/lang/rust/patches/patch-vendor_cc-1.0.73_src_lib.rs
1.2modifypkgsrc/lang/rust/patches/patch-vendor_cc-1.0.77_src_lib.rs
1.11modifypkgsrc/lang/rust/patches/patch-vendor_cc_src_lib.rs
1.4modifypkgsrc/lang/rust/patches/patch-vendor_crossbeam-epoch_no__atomic.rs
1.4modifypkgsrc/lang/rust/patches/patch-vendor_crossbeam-utils_no__atomic.rs
1.2modifypkgsrc/lang/rust/patches/patch-vendor_libc-0.2.138_src_unix_bsd_netbsdlike_netbsd_mips.rs
1.3modifypkgsrc/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.138_src_unix_bsd_netbsdlike_netbsd_riscv64.rs
1.2modifypkgsrc/lang/rust/patches/patch-vendor_libc-0.2.139_src_unix_bsd_netbsdlike_netbsd_mips.rs
1.2modifypkgsrc/lang/rust/patches/patch-vendor_libc-0.2.139_src_unix_bsd_netbsdlike_netbsd_mod.rs
1.2modifypkgsrc/lang/rust/patches/patch-vendor_libc-0.2.139_src_unix_bsd_netbsdlike_netbsd_riscv64.rs
1.3modifypkgsrc/lang/rust/patches/patch-vendor_libc_src_unix_bsd_netbsdlike_netbsd_mips.rs
1.7modifypkgsrc/lang/rust/patches/patch-vendor_libc_src_unix_bsd_netbsdlike_netbsd_mod.rs
1.2modifypkgsrc/lang/rust/patches/patch-vendor_libc_src_unix_bsd_netbsdlike_netbsd_riscv64.rs
1.12modifypkgsrc/lang/rust/patches/patch-vendor_libc_src_unix_solarish_mod.rs
1.7modifypkgsrc/lang/rust/patches/patch-vendor_lzma-sys_config.h
1.3modifypkgsrc/lang/rust/patches/patch-vendor_nix_src_sys_signal.rs
1.2modifypkgsrc/lang/rust/patches/patch-vendor_openssl-src_openssl_Configurations_10-main.conf
1.11modifypkgsrc/lang/rust/patches/patch-vendor_openssl-src_src_lib.rs
1.2modifypkgsrc/lang/rust/patches/patch-vendor_openssl-sys_build_find__normal.rs
1.3modifypkgsrc/lang/rust/patches/patch-vendor_openssl-sys_build_main.rs
1.7modifypkgsrc/lang/rust/patches/patch-vendor_rustc-ap-rustc__target_src_spec_aarch64__be__unknown__netbsd.rs
1.8modifypkgsrc/lang/rust/patches/patch-vendor_stacker_src_lib.rs
1.11modifypkgsrc/lang/rust/patches/patch-vendor_target-lexicon_src_targets.rs
1.3modifypkgsrc/lang/rust/patches/patch-vendor_valuable_no__atomic.rs
1.1addpkgsrc/lang/rust/patches/patch-library_portable-simd_crates_core__simd_src_swizzle__dyn.rs
1.1addpkgsrc/lang/rust/patches/patch-vendor_crossbeam-utils-0.8.14-no__atomic.rs
1.1addpkgsrc/lang/rust/patches/patch-vendor_libc-0.2.140_src_unix_bsd_netbsdlike_netbsd_mips.rs
1.1addpkgsrc/lang/rust/patches/patch-vendor_libc-0.2.140_src_unix_bsd_netbsdlike_netbsd_mod.rs
1.1addpkgsrc/lang/rust/patches/patch-vendor_libc-0.2.140_src_unix_bsd_netbsdlike_netbsd_riscv64.rs
1.1addpkgsrc/lang/rust/patches/patch-vendor_libc-0.2.143_src_unix_bsd_netbsdlike_netbsd_mips.rs
1.1addpkgsrc/lang/rust/patches/patch-vendor_libc-0.2.143_src_unix_bsd_netbsdlike_netbsd_mod.rs
1.1addpkgsrc/lang/rust/patches/patch-vendor_libc-0.2.143_src_unix_bsd_netbsdlike_netbsd_riscv64.rs