Auto merge of #113540 - Mark-Simulacrum:beta-backport, r=Mark-Simulacrum
[beta] promote 1.72 r? `@Mark-Simulacrum`
This commit is contained in:
commit
7ba605cd90
7 changed files with 18 additions and 17 deletions
|
|
@ -392,13 +392,13 @@ declare_features! (
|
|||
/// Allows `dyn* Trait` objects.
|
||||
(incomplete, dyn_star, "1.65.0", Some(102425), None),
|
||||
// Uses generic effect parameters for ~const bounds
|
||||
(active, effects, "CURRENT_RUSTC_VERSION", Some(102090), None),
|
||||
(active, effects, "1.72.0", Some(102090), None),
|
||||
/// Allows `X..Y` patterns.
|
||||
(active, exclusive_range_pattern, "1.11.0", Some(37854), None),
|
||||
/// Allows exhaustive pattern matching on types that contain uninhabited types.
|
||||
(active, exhaustive_patterns, "1.13.0", Some(51085), None),
|
||||
/// Allows explicit tail calls via `become` expression.
|
||||
(incomplete, explicit_tail_calls, "CURRENT_RUSTC_VERSION", Some(112788), None),
|
||||
(incomplete, explicit_tail_calls, "1.72.0", Some(112788), None),
|
||||
/// Allows using `efiapi`, `sysv64` and `win64` as calling convention
|
||||
/// for functions with varargs.
|
||||
(active, extended_varargs_abi_support, "1.65.0", Some(100189), None),
|
||||
|
|
@ -445,7 +445,7 @@ declare_features! (
|
|||
// Allows setting the threshold for the `large_assignments` lint.
|
||||
(active, large_assignments, "1.52.0", Some(83518), None),
|
||||
/// Allow to have type alias types for inter-crate use.
|
||||
(active, lazy_type_alias, "CURRENT_RUSTC_VERSION", Some(112792), None),
|
||||
(active, lazy_type_alias, "1.72.0", Some(112792), None),
|
||||
/// Allows `if/while p && let q = r && ...` chains.
|
||||
(active, let_chains, "1.37.0", Some(53667), None),
|
||||
/// Allows using `reason` in lint attributes and the `#[expect(lint)]` lint check.
|
||||
|
|
@ -546,7 +546,7 @@ declare_features! (
|
|||
/// not changed from prior instances of the same struct (RFC #2528)
|
||||
(active, type_changing_struct_update, "1.58.0", Some(86555), None),
|
||||
/// Allows using type privacy lints (`private_interfaces`, `private_bounds`, `unnameable_types`).
|
||||
(active, type_privacy_lints, "CURRENT_RUSTC_VERSION", Some(48054), None),
|
||||
(active, type_privacy_lints, "1.72.0", Some(48054), None),
|
||||
/// Enables rustc to generate code that instructs libstd to NOT ignore SIGPIPE.
|
||||
(active, unix_sigpipe, "1.65.0", Some(97889), None),
|
||||
/// Allows unsized fn parameters.
|
||||
|
|
|
|||
|
|
@ -1873,7 +1873,7 @@ impl String {
|
|||
/// let static_ref: &'static mut str = x.leak();
|
||||
/// assert_eq!(static_ref, "bucket");
|
||||
/// ```
|
||||
#[stable(feature = "string_leak", since = "CURRENT_RUSTC_VERSION")]
|
||||
#[stable(feature = "string_leak", since = "1.72.0")]
|
||||
#[inline]
|
||||
pub fn leak<'a>(self) -> &'a mut str {
|
||||
let slice = self.vec.leak();
|
||||
|
|
|
|||
|
|
@ -377,7 +377,7 @@ impl CStr {
|
|||
/// assert!(cstr.is_err());
|
||||
/// ```
|
||||
#[stable(feature = "cstr_from_bytes", since = "1.10.0")]
|
||||
#[rustc_const_stable(feature = "const_cstr_methods", since = "CURRENT_RUSTC_VERSION")]
|
||||
#[rustc_const_stable(feature = "const_cstr_methods", since = "1.72.0")]
|
||||
pub const fn from_bytes_with_nul(bytes: &[u8]) -> Result<&Self, FromBytesWithNulError> {
|
||||
let nul_pos = memchr::memchr(0, bytes);
|
||||
match nul_pos {
|
||||
|
|
@ -561,7 +561,7 @@ impl CStr {
|
|||
#[must_use = "this returns the result of the operation, \
|
||||
without modifying the original"]
|
||||
#[stable(feature = "rust1", since = "1.0.0")]
|
||||
#[rustc_const_stable(feature = "const_cstr_methods", since = "CURRENT_RUSTC_VERSION")]
|
||||
#[rustc_const_stable(feature = "const_cstr_methods", since = "1.72.0")]
|
||||
pub const fn to_bytes(&self) -> &[u8] {
|
||||
let bytes = self.to_bytes_with_nul();
|
||||
// FIXME(const-hack) replace with range index
|
||||
|
|
@ -590,7 +590,7 @@ impl CStr {
|
|||
#[must_use = "this returns the result of the operation, \
|
||||
without modifying the original"]
|
||||
#[stable(feature = "rust1", since = "1.0.0")]
|
||||
#[rustc_const_stable(feature = "const_cstr_methods", since = "CURRENT_RUSTC_VERSION")]
|
||||
#[rustc_const_stable(feature = "const_cstr_methods", since = "1.72.0")]
|
||||
pub const fn to_bytes_with_nul(&self) -> &[u8] {
|
||||
// SAFETY: Transmuting a slice of `c_char`s to a slice of `u8`s
|
||||
// is safe on all supported targets.
|
||||
|
|
@ -614,7 +614,7 @@ impl CStr {
|
|||
/// assert_eq!(cstr.to_str(), Ok("foo"));
|
||||
/// ```
|
||||
#[stable(feature = "cstr_to_str", since = "1.4.0")]
|
||||
#[rustc_const_stable(feature = "const_cstr_methods", since = "CURRENT_RUSTC_VERSION")]
|
||||
#[rustc_const_stable(feature = "const_cstr_methods", since = "1.72.0")]
|
||||
pub const fn to_str(&self) -> Result<&str, str::Utf8Error> {
|
||||
// N.B., when `CStr` is changed to perform the length check in `.to_bytes()`
|
||||
// instead of in `from_ptr()`, it may be worth considering if this should
|
||||
|
|
|
|||
|
|
@ -1165,7 +1165,7 @@ impl<'a> From<Cow<'a, OsStr>> for OsString {
|
|||
}
|
||||
}
|
||||
|
||||
#[stable(feature = "str_tryfrom_osstr_impl", since = "CURRENT_RUSTC_VERSION")]
|
||||
#[stable(feature = "str_tryfrom_osstr_impl", since = "1.72.0")]
|
||||
impl<'a> TryFrom<&'a OsStr> for &'a str {
|
||||
type Error = crate::str::Utf8Error;
|
||||
|
||||
|
|
|
|||
|
|
@ -347,7 +347,7 @@ pub struct Sender<T> {
|
|||
#[stable(feature = "rust1", since = "1.0.0")]
|
||||
unsafe impl<T: Send> Send for Sender<T> {}
|
||||
|
||||
#[stable(feature = "mpsc_sender_sync", since = "CURRENT_RUSTC_VERSION")]
|
||||
#[stable(feature = "mpsc_sender_sync", since = "1.72.0")]
|
||||
unsafe impl<T: Send> Sync for Sender<T> {}
|
||||
|
||||
/// The sending-half of Rust's synchronous [`sync_channel`] type.
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
nightly
|
||||
beta
|
||||
|
|
|
|||
|
|
@ -22,6 +22,7 @@ from typing import Callable, ContextManager, Dict, Iterable, Iterator, List, Opt
|
|||
Tuple, Union
|
||||
|
||||
PGO_HOST = os.environ["PGO_HOST"]
|
||||
CHANNEL = os.environ["RUST_RELEASE_CHANNEL"]
|
||||
|
||||
LOGGER = logging.getLogger("stage-build")
|
||||
|
||||
|
|
@ -816,10 +817,10 @@ def run_tests(pipeline: Pipeline):
|
|||
return extracted_path
|
||||
|
||||
# Extract rustc, libstd, cargo and src archives to create the optimized sysroot
|
||||
rustc_dir = extract_dist_dir(f"rustc-nightly-{PGO_HOST}") / "rustc"
|
||||
libstd_dir = extract_dist_dir(f"rust-std-nightly-{PGO_HOST}") / f"rust-std-{PGO_HOST}"
|
||||
cargo_dir = extract_dist_dir(f"cargo-nightly-{PGO_HOST}") / "cargo"
|
||||
extracted_src_dir = extract_dist_dir("rust-src-nightly") / "rust-src"
|
||||
rustc_dir = extract_dist_dir(f"rustc-{CHANNEL}-{PGO_HOST}") / "rustc"
|
||||
libstd_dir = extract_dist_dir(f"rust-std-{CHANNEL}-{PGO_HOST}") / f"rust-std-{PGO_HOST}"
|
||||
cargo_dir = extract_dist_dir(f"cargo-{CHANNEL}-{PGO_HOST}") / "cargo"
|
||||
extracted_src_dir = extract_dist_dir(f"rust-src-{CHANNEL}") / "rust-src"
|
||||
|
||||
# We need to manually copy libstd to the extracted rustc sysroot
|
||||
shutil.copytree(
|
||||
|
|
@ -827,7 +828,7 @@ def run_tests(pipeline: Pipeline):
|
|||
rustc_dir / "lib" / "rustlib" / PGO_HOST / "lib"
|
||||
)
|
||||
|
||||
# Extract sources - they aren't in the `rustc-nightly-{host}` tarball, so we need to manually copy libstd
|
||||
# Extract sources - they aren't in the `rustc-{CHANNEL}-{host}` tarball, so we need to manually copy libstd
|
||||
# sources to the extracted sysroot. We need sources available so that `-Zsimulate-remapped-rust-src-base`
|
||||
# works correctly.
|
||||
shutil.copytree(
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue