pkgsrc-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

PR/54621 CVS commit: pkgsrc/lang/rust

The following reply was made to PR pkg/54621; it has been noted by GNATS.

From: "Havard Eidnes" <>
Subject: PR/54621 CVS commit: pkgsrc/lang/rust
Date: Sat, 20 Nov 2021 16:09:46 +0000

 Module Name:	pkgsrc
 Committed By:	he
 Date:		Sat Nov 20 16:09:46 UTC 2021
 Modified Files:
 	pkgsrc/lang/rust: Makefile distinfo
 Removed Files:
 Log Message:
 Update lang/rust to version 1.56.1.
 Pkgsrc changes:
  * Bump bootstrap kit version to 1.55.0.
  * Adjust patches as needed, some no longer apply (so removed)
  * Update checksum adjustments.
  * Avoid rust-llvm on SunOS
  * Optionally build docs
  * Remove reference to closed/old PR#54621
 Upstream changes:
 Version 1.56.1 (2021-11-01)
 - New lints to detect the presence of bidirectional-override Unicode
   codepoints in the compiled source code ([CVE-2021-42574])
 Version 1.56.0 (2021-10-21)
 - [The 2021 Edition is now stable.][rust#88100]
   See [the edition guide][rust-2021-edition-guide] for more details.
 - [The pattern in `binding @ pattern` can now also introduce new bindings.]
 - [Union field access is permitted in `const fn`.][rust#85769]
 - [Upgrade to LLVM 13.][rust#87570]
 - [Support memory, address, and thread sanitizers on aarch64-unknown-freebsd.]
 - [Allow specifying a deployment target version for all iOS targets][rust#87699]
 - [Warnings can be forced on with `--force-warn`.][rust#87472]
   This feature is primarily intended for usage by `cargo fix`, rather than
   end users.
 - [Promote `aarch64-apple-ios-sim` to Tier 2\*.][rust#87760]
 - [Add `powerpc-unknown-freebsd` at Tier 3\*.][rust#87370]
 - [Add `riscv32imc-esp-espidf` at Tier 3\*.][rust#87666]
 \* Refer to Rust's [platform support page][platform-support-doc] for more
 information on Rust's tiered platform support.
 - [Allow writing of incomplete UTF-8 sequences via stdout/stderr on Windows.]
   The Windows console still requires valid Unicode, but this change allows
   splitting a UTF-8 character across multiple write calls. This allows, for
   instance, programs that just read and write data buffers (e.g. copying a file
   to stdout) without regard for Unicode or character boundaries.
 - [Prefer `AtomicU{64,128}` over Mutex for Instant backsliding protection.]
   For this use case, atomics scale much better under contention.
 - [Implement `Extend<(A, B)>` for `(Extend<A>, Extend<B>)`][rust#85835]
 - [impl Default, Copy, Clone for std::io::Sink and std::io::Empty][rust#86744]
 - [`impl From<[(K, V); N]>` for all collections.][rust#84111]
 - [Remove `P: Unpin` bound on impl Future for Pin.][rust#81363]
 - [Treat invalid environment variable names as non-existent.][rust#86183]
   Previously, the environment functions would panic if given a
   variable name with an internal null character or equal sign (`=`).
   Now, these functions will just treat such names as non-existent
   variables, since the OS cannot represent the existence of a
   variable with such a name.
 Stabilised APIs
 - [`std::os::unix::fs::chroot`]
 - [`UnsafeCell::raw_get`]
 - [`BufWriter::into_parts`]
 - [`core::panic::{UnwindSafe, RefUnwindSafe, AssertUnwindSafe}`]
   These APIs were previously stable in `std`, but are now also available
   in `core`.
 - [`Vec::shrink_to`]
 - [`String::shrink_to`]
 - [`OsString::shrink_to`]
 - [`PathBuf::shrink_to`]
 - [`BinaryHeap::shrink_to`]
 - [`VecDeque::shrink_to`]
 - [`HashMap::shrink_to`]
 - [`HashSet::shrink_to`]
 These APIs are now usable in const contexts:
 - [`std::mem::transmute`]
 - [`[T]::first`][`slice::first`]
 - [`[T]::split_first`][`slice::split_first`]
 - [`[T]::last`][`slice::last`]
 - [`[T]::split_last`][`slice::split_last`]
 - [Cargo supports specifying a minimum supported Rust version in Cargo.toml.]
   This has no effect at present on dependency version selection.
   We encourage crates to specify their minimum supported Rust
   version, and we encourage CI systems that support Rust code to
   include a crate's specified minimum version in the text matrix
   for that crate by default.
 Compatibility notes
 - [Update to new argument parsing rules on Windows.][rust#87580]
   This adjusts Rust's standard library to match the behavior of the standard
   libraries for C/C++. The rules have changed slightly over time, and this PR
   brings us to the latest set of rules (changed in 2008).
 - [Disallow the aapcs calling convention on aarch64][rust#88399]
   This was already not supported by LLVM; this change surfaces this lack of
   support with a better error message.
 - [Make `SEMICOLON_IN_EXPRESSIONS_FROM_MACROS` warn by default][rust#87385]
 - [Warn when an escaped newline skips multiple lines.][rust#87671]
 - [Calls to `libc::getpid` / `std::process::id` from `Command::pre_exec`
   may return different values on glibc <= 2.24.][rust#81825]
   Rust now invokes the `clone3` system call directly, when available,
   to use new functionality available via that system call. Older
   versions of glibc cache the result of `getpid`, and only update
   that cache when calling glibc's clone/fork functions, so a direct
   system call bypasses that cache update. glibc 2.25 and newer no
   longer cache `getpid` for exactly this reason.
 Internal changes
 These changes provide no direct user facing benefits, but represent
 significant improvements to the internals and overall performance
 of rustc and related tools.
 - [LLVM is compiled with PGO in published x86_64-unknown-linux-gnu artifacts.]
   This improves the performance of most Rust builds.
 - [Unify representation of macros in internal data structures.][rust#88019]
   This change fixes a host of bugs with the handling of macros by the compiler,
   as well as rustdoc.
 [`core::panic::{UnwindSafe, RefUnwindSafe, AssertUnwindSafe}`]:
 Version 1.55.0 (2021-09-09)
 - [You can now write open "from" range patterns (`X..`), which will start
   at `X` and will end at the maximum value of the integer.][83918]
 - [You can now explicitly import the prelude of different editions
   through `std::prelude` (e.g. `use std::prelude::rust_2021::*;`).][86294]
 - [Added tier 3\* support for `powerpc64le-unknown-freebsd`.][83572]
 \* Refer to Rust's [platform support page][platform-support-doc] for more
    information on Rust's tiered platform support.
 - [Updated std's float parsing to use the Eisel-Lemire algorithm.][86761]
   These improvements should in general provide faster string parsing of floats,
   no longer reject certain valid floating point values, and reduce
   the produced code size for non-stripped artifacts.
 - [`string::Drain` now implements `AsRef<str>` and `AsRef<[u8]>`.][86858]
 Stabilised APIs
 - [`Bound::cloned`]
 - [`Drain::as_str`]
 - [`IntoInnerError::into_error`]
 - [`IntoInnerError::into_parts`]
 - [`MaybeUninit::assume_init_mut`]
 - [`MaybeUninit::assume_init_ref`]
 - [`MaybeUninit::write`]
 - [`array::map`]
 - [`ops::ControlFlow`]
 - [`x86::_bittest`]
 - [`x86::_bittestandcomplement`]
 - [`x86::_bittestandreset`]
 - [`x86::_bittestandset`]
 - [`x86_64::_bittest64`]
 - [`x86_64::_bittestandcomplement64`]
 - [`x86_64::_bittestandreset64`]
 - [`x86_64::_bittestandset64`]
 The following previously stable functions are now `const`.
 - [`str::from_utf8_unchecked`]
 - [Cargo will now deduplicate compiler diagnostics to the terminal when invoking
   rustc in parallel such as when using `cargo test`.][cargo/9675]
 - [The package definition in `cargo metadata` now includes the `"default_run"`
   field from the manifest.][cargo/9550]
 - [Added `cargo d` as an alias for `cargo doc`.][cargo/9680]
 - [Added `{lib}` as formatting option for `cargo tree` to print the `"lib_name"`
   of packages.][cargo/9663]
 - [Added "Go to item on exact match" search option.][85876]
 - [The "Implementors" section on traits no longer shows redundant
   method definitions.][85970]
 - [Trait implementations are toggled open by default.][86260] This should
   make the implementations more searchable by tools like `CTRL+F` in
   your browser.
 - [Intra-doc links should now correctly resolve associated items (e.g. methods)
   through type aliases.][86334]
 - [Traits which are marked with `#[doc(hidden)]` will no longer appear in the
   "Trait Implementations" section.][86513]
 Compatibility Notes
 - [std functions that return an `io::Error` will no longer use the
   `ErrorKind::Other` variant.][85746] This is to better reflect that these
   kinds of errors could be categorised [into newer more specific `ErrorKind`
   variants][79965], and that they do not represent a user error.
 - [Using environment variable names with `process::Command` on Windows now
   behaves as expected.][85270] Previously using envionment variables with
   `Command` would cause them to be ASCII-uppercased.
 - [Rustdoc will now warn on using rustdoc lints that aren't prefixed
   with `rustdoc::`][86849]
 To generate a diff of this commit:
 cvs rdiff -u -r1.246 -r1.247 pkgsrc/lang/rust/Makefile
 cvs rdiff -u -r1.138 -r1.139 pkgsrc/lang/rust/distinfo
 cvs rdiff -u -r1.16 -r1.17 pkgsrc/lang/rust/
 cvs rdiff -u -r1.12 -r1.13 pkgsrc/lang/rust/
 cvs rdiff -u -r1.2 -r1.3 \
     pkgsrc/lang/rust/patches/ \
     pkgsrc/lang/rust/patches/ \
     pkgsrc/lang/rust/patches/ \
     pkgsrc/lang/rust/patches/ \
     pkgsrc/lang/rust/patches/ \
 cvs rdiff -u -r1.3 -r1.4 \
     pkgsrc/lang/rust/patches/ \
     pkgsrc/lang/rust/patches/patch-src_llvm-project_llvm_include_llvm-c_DataTypes.h \
 cvs rdiff -u -r1.4 -r1.5 \
     pkgsrc/lang/rust/patches/ \
     pkgsrc/lang/rust/patches/ \
     pkgsrc/lang/rust/patches/ \
     pkgsrc/lang/rust/patches/ \
     pkgsrc/lang/rust/patches/ \
     pkgsrc/lang/rust/patches/patch-src_llvm-project_llvm_include_llvm_Analysis_ConstantFolding.h \
     pkgsrc/lang/rust/patches/ \
     pkgsrc/lang/rust/patches/ \
     pkgsrc/lang/rust/patches/patch-vendor_lzma-sys_config.h \
 cvs rdiff -u -r1.3 -r0 \
     pkgsrc/lang/rust/patches/ \
 cvs rdiff -u -r1.2 -r0 \
 cvs rdiff -u -r1.5 -r1.6 \
     pkgsrc/lang/rust/patches/ \
     pkgsrc/lang/rust/patches/patch-src_llvm-project_llvm_CMakeLists.txt \
     pkgsrc/lang/rust/patches/patch-src_llvm-project_llvm_utils_FileCheck_FileCheck.cpp \
     pkgsrc/lang/rust/patches/ \
 cvs rdiff -u -r1.7 -r1.8 \
     pkgsrc/lang/rust/patches/ \
 cvs rdiff -u -r1.17 -r1.18 \
 cvs rdiff -u -r1.10 -r1.11 \
 cvs rdiff -u -r1.6 -r1.7 \
     pkgsrc/lang/rust/patches/patch-src_llvm-project_llvm_cmake_modules_AddLLVM.cmake \
 cvs rdiff -u -r1.8 -r1.9 \
 cvs rdiff -u -r1.1 -r0 \
 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

Home | Main Index | Thread Index | Old Index