mirror of https://github.com/rust-lang/rust.git
Auto merge of #127156 - matthiaskrgr:rollup-jjfd464, r=matthiaskrgr
Rollup of 6 pull requests Successful merges: - #126705 (Updated docs on `#[panic_handler]` in `library/core/src/lib.rs`) - #126876 (Add `.ignore` file to make `config.toml` searchable in vscode) - #126906 (Small fixme in core now that split_first has no codegen issues) - #127023 (CI: rename Rust for Linux CI job) - #127131 (Remove unused `rustc_trait_selection` dependencies) - #127134 (Print `TypeId` as a `u128` for `Debug`) r? `@ghost` `@rustbot` modify labels: rollup
This commit is contained in:
commit
6c3485512f
|
@ -0,0 +1,2 @@
|
||||||
|
# Make vscode *not* count `config.toml` as ignored, so it is included in search
|
||||||
|
!/config.toml
|
|
@ -36,6 +36,7 @@ Files: compiler/*
|
||||||
.gitignore
|
.gitignore
|
||||||
.gitmodules
|
.gitmodules
|
||||||
.mailmap
|
.mailmap
|
||||||
|
.ignore
|
||||||
Copyright: The Rust Project Developers (see https://thanks.rust-lang.org)
|
Copyright: The Rust Project Developers (see https://thanks.rust-lang.org)
|
||||||
License: MIT or Apache-2.0
|
License: MIT or Apache-2.0
|
||||||
|
|
||||||
|
|
|
@ -4760,8 +4760,6 @@ checksum = "8ba09476327c4b70ccefb6180f046ef588c26a24cf5d269a9feba316eb4f029f"
|
||||||
name = "rustc_trait_selection"
|
name = "rustc_trait_selection"
|
||||||
version = "0.0.0"
|
version = "0.0.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bitflags 2.5.0",
|
|
||||||
"derivative",
|
|
||||||
"itertools",
|
"itertools",
|
||||||
"rustc_ast",
|
"rustc_ast",
|
||||||
"rustc_ast_ir",
|
"rustc_ast_ir",
|
||||||
|
@ -4770,7 +4768,6 @@ dependencies = [
|
||||||
"rustc_errors",
|
"rustc_errors",
|
||||||
"rustc_fluent_macro",
|
"rustc_fluent_macro",
|
||||||
"rustc_hir",
|
"rustc_hir",
|
||||||
"rustc_index",
|
|
||||||
"rustc_infer",
|
"rustc_infer",
|
||||||
"rustc_macros",
|
"rustc_macros",
|
||||||
"rustc_middle",
|
"rustc_middle",
|
||||||
|
@ -4783,7 +4780,6 @@ dependencies = [
|
||||||
"rustc_target",
|
"rustc_target",
|
||||||
"rustc_transmute",
|
"rustc_transmute",
|
||||||
"rustc_type_ir",
|
"rustc_type_ir",
|
||||||
"rustc_type_ir_macros",
|
|
||||||
"smallvec",
|
"smallvec",
|
||||||
"tracing",
|
"tracing",
|
||||||
]
|
]
|
||||||
|
|
|
@ -5,8 +5,6 @@ edition = "2021"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
# tidy-alphabetical-start
|
# tidy-alphabetical-start
|
||||||
bitflags = "2.4.1"
|
|
||||||
derivative = "2.2.0"
|
|
||||||
itertools = "0.12"
|
itertools = "0.12"
|
||||||
rustc_ast = { path = "../rustc_ast" }
|
rustc_ast = { path = "../rustc_ast" }
|
||||||
rustc_ast_ir = { path = "../rustc_ast_ir" }
|
rustc_ast_ir = { path = "../rustc_ast_ir" }
|
||||||
|
@ -15,7 +13,6 @@ rustc_data_structures = { path = "../rustc_data_structures" }
|
||||||
rustc_errors = { path = "../rustc_errors" }
|
rustc_errors = { path = "../rustc_errors" }
|
||||||
rustc_fluent_macro = { path = "../rustc_fluent_macro" }
|
rustc_fluent_macro = { path = "../rustc_fluent_macro" }
|
||||||
rustc_hir = { path = "../rustc_hir" }
|
rustc_hir = { path = "../rustc_hir" }
|
||||||
rustc_index = { path = "../rustc_index" }
|
|
||||||
rustc_infer = { path = "../rustc_infer" }
|
rustc_infer = { path = "../rustc_infer" }
|
||||||
rustc_macros = { path = "../rustc_macros" }
|
rustc_macros = { path = "../rustc_macros" }
|
||||||
rustc_middle = { path = "../rustc_middle" }
|
rustc_middle = { path = "../rustc_middle" }
|
||||||
|
@ -28,7 +25,6 @@ rustc_span = { path = "../rustc_span" }
|
||||||
rustc_target = { path = "../rustc_target" }
|
rustc_target = { path = "../rustc_target" }
|
||||||
rustc_transmute = { path = "../rustc_transmute", features = ["rustc"] }
|
rustc_transmute = { path = "../rustc_transmute", features = ["rustc"] }
|
||||||
rustc_type_ir = { path = "../rustc_type_ir" }
|
rustc_type_ir = { path = "../rustc_type_ir" }
|
||||||
rustc_type_ir_macros = { path = "../rustc_type_ir_macros" }
|
|
||||||
smallvec = { version = "1.8.1", features = ["union", "may_dangle"] }
|
smallvec = { version = "1.8.1", features = ["union", "may_dangle"] }
|
||||||
tracing = "0.1"
|
tracing = "0.1"
|
||||||
# tidy-alphabetical-end
|
# tidy-alphabetical-end
|
||||||
|
|
|
@ -602,7 +602,7 @@ impl dyn Any + Send + Sync {
|
||||||
/// While `TypeId` implements `Hash`, `PartialOrd`, and `Ord`, it is worth
|
/// While `TypeId` implements `Hash`, `PartialOrd`, and `Ord`, it is worth
|
||||||
/// noting that the hashes and ordering will vary between Rust releases. Beware
|
/// noting that the hashes and ordering will vary between Rust releases. Beware
|
||||||
/// of relying on them inside of your code!
|
/// of relying on them inside of your code!
|
||||||
#[derive(Clone, Copy, Debug, Eq, PartialOrd, Ord)]
|
#[derive(Clone, Copy, Eq, PartialOrd, Ord)]
|
||||||
#[stable(feature = "rust1", since = "1.0.0")]
|
#[stable(feature = "rust1", since = "1.0.0")]
|
||||||
pub struct TypeId {
|
pub struct TypeId {
|
||||||
// We avoid using `u128` because that imposes higher alignment requirements on many platforms.
|
// We avoid using `u128` because that imposes higher alignment requirements on many platforms.
|
||||||
|
@ -644,6 +644,10 @@ impl TypeId {
|
||||||
let t2 = t as u64;
|
let t2 = t as u64;
|
||||||
TypeId { t: (t1, t2) }
|
TypeId { t: (t1, t2) }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn as_u128(self) -> u128 {
|
||||||
|
u128::from(self.t.0) << 64 | u128::from(self.t.1)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[stable(feature = "rust1", since = "1.0.0")]
|
#[stable(feature = "rust1", since = "1.0.0")]
|
||||||
|
@ -666,6 +670,13 @@ impl hash::Hash for TypeId {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[stable(feature = "rust1", since = "1.0.0")]
|
||||||
|
impl fmt::Debug for TypeId {
|
||||||
|
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> Result<(), fmt::Error> {
|
||||||
|
f.debug_tuple("TypeId").field(&self.as_u128()).finish()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// Returns the name of a type as a string slice.
|
/// Returns the name of a type as a string slice.
|
||||||
///
|
///
|
||||||
/// # Note
|
/// # Note
|
||||||
|
|
|
@ -34,12 +34,9 @@
|
||||||
//! Rust user code is to call the functions provided by this library instead (such as
|
//! Rust user code is to call the functions provided by this library instead (such as
|
||||||
//! `ptr::copy`).
|
//! `ptr::copy`).
|
||||||
//!
|
//!
|
||||||
//! * `rust_begin_panic` - This function takes four arguments, a
|
//! * Panic handler - This function takes one argument, a `&panic::PanicInfo`. It is up to consumers of this core
|
||||||
//! `fmt::Arguments`, a `&'static str`, and two `u32`'s. These four arguments
|
|
||||||
//! dictate the panic message, the file at which panic was invoked, and the
|
|
||||||
//! line and column inside the file. It is up to consumers of this core
|
|
||||||
//! library to define this panic function; it is only required to never
|
//! library to define this panic function; it is only required to never
|
||||||
//! return. This requires a `lang` attribute named `panic_impl`.
|
//! return. You should mark your implementation using `#[panic_handler]`.
|
||||||
//!
|
//!
|
||||||
//! * `rust_eh_personality` - is used by the failure mechanisms of the
|
//! * `rust_eh_personality` - is used by the failure mechanisms of the
|
||||||
//! compiler. This is often mapped to GCC's personality function, but crates
|
//! compiler. This is often mapped to GCC's personality function, but crates
|
||||||
|
|
|
@ -39,9 +39,7 @@ impl ByteSlice for [u8] {
|
||||||
fn parse_digits(&self, mut func: impl FnMut(u8)) -> &Self {
|
fn parse_digits(&self, mut func: impl FnMut(u8)) -> &Self {
|
||||||
let mut s = self;
|
let mut s = self;
|
||||||
|
|
||||||
// FIXME: Can't use s.split_first() here yet,
|
while let Some((c, s_next)) = s.split_first() {
|
||||||
// see https://github.com/rust-lang/rust/issues/109328
|
|
||||||
while let [c, s_next @ ..] = s {
|
|
||||||
let c = c.wrapping_sub(b'0');
|
let c = c.wrapping_sub(b'0');
|
||||||
if c < 10 {
|
if c < 10 {
|
||||||
func(c);
|
func(c);
|
||||||
|
|
|
@ -51,9 +51,7 @@ fn try_parse_19digits(s_ref: &mut &[u8], x: &mut u64) {
|
||||||
let mut s = *s_ref;
|
let mut s = *s_ref;
|
||||||
|
|
||||||
while *x < MIN_19DIGIT_INT {
|
while *x < MIN_19DIGIT_INT {
|
||||||
// FIXME: Can't use s.split_first() here yet,
|
if let Some((c, s_next)) = s.split_first() {
|
||||||
// see https://github.com/rust-lang/rust/issues/109328
|
|
||||||
if let [c, s_next @ ..] = s {
|
|
||||||
let digit = c.wrapping_sub(b'0');
|
let digit = c.wrapping_sub(b'0');
|
||||||
|
|
||||||
if digit < 10 {
|
if digit < 10 {
|
||||||
|
|
|
@ -215,6 +215,11 @@ auto:
|
||||||
only_on_channel: nightly
|
only_on_channel: nightly
|
||||||
<<: *job-linux-8c
|
<<: *job-linux-8c
|
||||||
|
|
||||||
|
# Tests integration with Rust for Linux.
|
||||||
|
# Builds stage 1 compiler and tries to compile a few RfL examples with it.
|
||||||
|
- image: x86_64-rust-for-linux
|
||||||
|
<<: *job-linux-8c
|
||||||
|
|
||||||
- image: x86_64-gnu
|
- image: x86_64-gnu
|
||||||
<<: *job-linux-4c
|
<<: *job-linux-4c
|
||||||
|
|
||||||
|
@ -465,8 +470,3 @@ auto:
|
||||||
RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-msvc --enable-extended --enable-profiler
|
RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-msvc --enable-extended --enable-profiler
|
||||||
SCRIPT: python x.py dist bootstrap --include-default-paths
|
SCRIPT: python x.py dist bootstrap --include-default-paths
|
||||||
<<: *job-windows-8c
|
<<: *job-windows-8c
|
||||||
|
|
||||||
# Tests integration with Rust for Linux.
|
|
||||||
# Builds stage 1 compiler and tries to compile a few RfL examples with it.
|
|
||||||
- image: rfl
|
|
||||||
<<: *job-linux-8c
|
|
||||||
|
|
Loading…
Reference in New Issue