Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
57650ee
fix: don't suggest replacing `env!("CARGO_BIN_NAME")` with itself
ShE3py Feb 7, 2026
a4a5208
Pass -pg to linker when using -Zinstrument-mcount
pmur Feb 10, 2026
b9ee655
Fix LegacyKeyValueFormat report from docker build: miscellaneous
homersimpsons Mar 7, 2026
e41bf75
Move `ActiveJobGuard` definition next to its impls.
nnethercote Mar 6, 2026
18ade84
Streamline `ActiveJobGuard` completion.
nnethercote Mar 6, 2026
9983a56
Inline and remove `QueryLatch::wait_on_inner`.
nnethercote Mar 9, 2026
94acbeb
add test for proc-macros with custom panic payloads
cyrgani Mar 9, 2026
cd7cf17
Add rationale for intentional potential_query_instability allows
xfq Mar 6, 2026
1d81c50
feat(rustdoc-json): Add optional support for rkyv (de)serialization
LukeMathWalker Mar 2, 2026
f2cf26f
Streamline `QueryLatch::wait_on`.
nnethercote Mar 9, 2026
c9fc358
add regression test for inherent assoc type mismatch ICE
TaKO8Ki Mar 10, 2026
a92006f
avoid projection-only suggestions for inherent assoc types
TaKO8Ki Mar 10, 2026
1f05c76
doc: Avoid intra-doc links that don't resolve if the rkyv_0_8 feature…
LukeMathWalker Mar 10, 2026
8caaf1d
Support coercion between references and pinned references
frank-king Jan 30, 2026
3f75db3
Remove `coerce_maybe_pinned_ref`.
frank-king Feb 4, 2026
7be286e
Retain the `types differ in mutability` diagnostics
frank-king Feb 28, 2026
d38c8c0
Add `ObligationCauseCode::Coercion` to the `Unpin` obligation
frank-king Mar 2, 2026
db1060e
use `#![expect(incomplete_features)]`
TaKO8Ki Mar 10, 2026
9d64077
Allow running unit/integration tests without doc tests and benches
Urhengulas Feb 26, 2026
2a2cafa
Reflect removal of `--no-doc` in documentation
Urhengulas Feb 26, 2026
c555edb
Add `./x test --no-doc` back and print a warning
Urhengulas Mar 10, 2026
f760fdd
hir_analysis: check number of vectors in tuples
davidtwco Feb 19, 2026
db5e2dc
abi: s/ScalableVector/SimdScalableVector
davidtwco Mar 2, 2026
b767499
abi: s/VectorKind/SimdVectorKind
davidtwco Mar 2, 2026
1384f66
triagebot: remove myself from some mention groups
davidtwco Mar 10, 2026
40ac87e
Mark an unreachable match arm as such
oli-obk Mar 10, 2026
836be8a
Rollup merge of #149130 - frank-king:feature/pin-coerce, r=jackh726
JonathanBrouwer Mar 10, 2026
c765c59
Rollup merge of #152457 - pmur:murp/mcount-link-pg, r=davidtwco
JonathanBrouwer Mar 10, 2026
a533445
Rollup merge of #153143 - ferrocene:jh/bootstrap-test-targets, r=Mark…
JonathanBrouwer Mar 10, 2026
b0e0a95
Rollup merge of #153471 - nnethercote:complete_inner, r=petrochenkov
JonathanBrouwer Mar 10, 2026
0a51dc6
Rollup merge of #153595 - nnethercote:QueryLatch-cleanups, r=petroche…
JonathanBrouwer Mar 10, 2026
6c5ddf1
Rollup merge of #153653 - davidtwco:sve-cleanups, r=lqd
JonathanBrouwer Mar 10, 2026
42326d1
Rollup merge of #152302 - ShE3py:cargo-envs, r=davidtwco
JonathanBrouwer Mar 10, 2026
05ea1b9
Rollup merge of #153283 - LukeMathWalker:add-rkyv-support, r=aDotInTh…
JonathanBrouwer Mar 10, 2026
c0f5a36
Rollup merge of #153479 - xfq:issue-84447-20260306, r=davidtwco
JonathanBrouwer Mar 10, 2026
db1702f
Rollup merge of #153533 - homersimpsons:chore/fix-LegacyKeyValueForma…
JonathanBrouwer Mar 10, 2026
057e663
Rollup merge of #153600 - cyrgani:any-panic-pm, r=davidtwco
JonathanBrouwer Mar 10, 2026
e130c4b
Rollup merge of #153643 - TaKO8Ki:issue-153539, r=Kivooeo
JonathanBrouwer Mar 10, 2026
ba78407
Rollup merge of #153657 - davidtwco:triagebot-remove-davidtwco-diags,…
JonathanBrouwer Mar 10, 2026
945bc51
Rollup merge of #153659 - oli-obk:brg_dc_merge_prelude, r=petrochenkov
JonathanBrouwer Mar 10, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
124 changes: 124 additions & 0 deletions Cargo.lock
Original file line number Diff line number Diff line change
Expand Up @@ -376,12 +376,41 @@ version = "3.19.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "46c5e41b57b8bba42a04676d81cb89e9ee8e859a1a66f80a5a72e1cb76b34d43"

[[package]]
name = "bytecheck"
version = "0.8.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0caa33a2c0edca0419d15ac723dff03f1956f7978329b1e3b5fdaaaed9d3ca8b"
dependencies = [
"bytecheck_derive",
"ptr_meta",
"rancor",
"simdutf8",
]

[[package]]
name = "bytecheck_derive"
version = "0.8.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "89385e82b5d1821d2219e0b095efa2cc1f246cbf99080f3be46a1a85c0d392d9"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.110",
]

[[package]]
name = "bytecount"
version = "0.6.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "175812e0be2bccb6abe50bb8d566126198344f707e304f45c648fd8f2cc0365e"

[[package]]
name = "bytes"
version = "1.11.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1e748733b7cbc798e1434b6ac524f0c1ff2ab456fe201501e6497c8417a4fc33"

[[package]]
name = "camino"
version = "1.2.1"
Expand Down Expand Up @@ -2476,6 +2505,26 @@ dependencies = [
name = "miropt-test-tools"
version = "0.1.0"

[[package]]
name = "munge"
version = "0.4.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5e17401f259eba956ca16491461b6e8f72913a0a114e39736ce404410f915a0c"
dependencies = [
"munge_macro",
]

[[package]]
name = "munge_macro"
version = "0.4.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4568f25ccbd45ab5d5603dc34318c1ec56b117531781260002151b8530a9f931"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.110",
]

[[package]]
name = "new_debug_unreachable"
version = "1.0.6"
Expand Down Expand Up @@ -3047,6 +3096,26 @@ dependencies = [
"cc",
]

[[package]]
name = "ptr_meta"
version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0b9a0cf95a1196af61d4f1cbdab967179516d9a4a4312af1f31948f8f6224a79"
dependencies = [
"ptr_meta_derive",
]

[[package]]
name = "ptr_meta_derive"
version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7347867d0a7e1208d93b46767be83e2b8f978c3dad35f775ac8d8847551d6fe1"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.110",
]

[[package]]
name = "pulldown-cmark"
version = "0.11.3"
Expand Down Expand Up @@ -3092,6 +3161,15 @@ version = "5.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f"

[[package]]
name = "rancor"
version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a063ea72381527c2a0561da9c80000ef822bdd7c3241b1cc1b12100e3df081ee"
dependencies = [
"ptr_meta",
]

[[package]]
name = "rand"
version = "0.8.5"
Expand Down Expand Up @@ -3275,6 +3353,15 @@ dependencies = [
name = "remote-test-server"
version = "0.1.0"

[[package]]
name = "rend"
version = "0.5.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cadadef317c2f20755a64d7fdc48f9e7178ee6b0e1f7fce33fa60f1d68a276e6"
dependencies = [
"bytecheck",
]

[[package]]
name = "replace-version-placeholder"
version = "0.1.0"
Expand All @@ -3283,6 +3370,36 @@ dependencies = [
"walkdir",
]

[[package]]
name = "rkyv"
version = "0.8.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1a30e631b7f4a03dee9056b8ef6982e8ba371dd5bedb74d3ec86df4499132c70"
dependencies = [
"bytecheck",
"bytes",
"hashbrown 0.16.1",
"indexmap",
"munge",
"ptr_meta",
"rancor",
"rend",
"rkyv_derive",
"tinyvec",
"uuid",
]

[[package]]
name = "rkyv_derive"
version = "0.8.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8100bb34c0a1d0f907143db3149e6b4eea3c33b9ee8b189720168e818303986f"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.110",
]

[[package]]
name = "run_make_support"
version = "0.0.0"
Expand Down Expand Up @@ -4790,6 +4907,7 @@ name = "rustdoc-json-types"
version = "0.1.0"
dependencies = [
"bincode",
"rkyv",
"rustc-hash 2.1.1",
"serde",
"serde_derive",
Expand Down Expand Up @@ -5128,6 +5246,12 @@ version = "0.3.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe"

[[package]]
name = "simdutf8"
version = "0.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e3a9fe34e3e7a50316060351f37187a3f546bce95496156754b601a5fa71b76e"

[[package]]
name = "similar"
version = "2.7.0"
Expand Down
2 changes: 1 addition & 1 deletion compiler/rustc_abi/src/callconv.rs
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ impl<'a, Ty> TyAndLayout<'a, Ty> {
}))
}

BackendRepr::ScalableVector { .. } => {
BackendRepr::SimdScalableVector { .. } => {
unreachable!("`homogeneous_aggregate` should not be called for scalable vectors")
}

Expand Down
20 changes: 10 additions & 10 deletions compiler/rustc_abi/src/layout.rs
Original file line number Diff line number Diff line change
Expand Up @@ -210,7 +210,7 @@ impl<Cx: HasDataLayout> LayoutCalculator<Cx> {
VariantIdx: Idx,
F: AsRef<LayoutData<FieldIdx, VariantIdx>> + fmt::Debug,
{
vector_type_layout(VectorKind::Scalable, self.cx.data_layout(), element, count)
vector_type_layout(SimdVectorKind::Scalable, self.cx.data_layout(), element, count)
}

pub fn simd_type<FieldIdx, VariantIdx, F>(
Expand All @@ -224,7 +224,7 @@ impl<Cx: HasDataLayout> LayoutCalculator<Cx> {
VariantIdx: Idx,
F: AsRef<LayoutData<FieldIdx, VariantIdx>> + fmt::Debug,
{
let kind = if repr_packed { VectorKind::PackedFixed } else { VectorKind::Fixed };
let kind = if repr_packed { SimdVectorKind::PackedFixed } else { SimdVectorKind::Fixed };
vector_type_layout(kind, self.cx.data_layout(), element, count)
}

Expand Down Expand Up @@ -484,7 +484,7 @@ impl<Cx: HasDataLayout> LayoutCalculator<Cx> {
BackendRepr::Scalar(..)
| BackendRepr::ScalarPair(..)
| BackendRepr::SimdVector { .. }
| BackendRepr::ScalableVector { .. }
| BackendRepr::SimdScalableVector { .. }
| BackendRepr::Memory { .. } => repr,
},
};
Expand Down Expand Up @@ -557,7 +557,7 @@ impl<Cx: HasDataLayout> LayoutCalculator<Cx> {
hide_niches(b);
}
BackendRepr::SimdVector { element, .. }
| BackendRepr::ScalableVector { element, .. } => hide_niches(element),
| BackendRepr::SimdScalableVector { element, .. } => hide_niches(element),
BackendRepr::Memory { sized: _ } => {}
}
st.largest_niche = None;
Expand Down Expand Up @@ -1524,7 +1524,7 @@ impl<Cx: HasDataLayout> LayoutCalculator<Cx> {
}
}

enum VectorKind {
enum SimdVectorKind {
/// `#[rustc_scalable_vector]`
Scalable,
/// `#[repr(simd, packed)]`
Expand All @@ -1534,7 +1534,7 @@ enum VectorKind {
}

fn vector_type_layout<FieldIdx, VariantIdx, F>(
kind: VectorKind,
kind: SimdVectorKind,
dl: &TargetDataLayout,
element: F,
count: u64,
Expand All @@ -1559,16 +1559,16 @@ where
let size =
elt.size.checked_mul(count, dl).ok_or_else(|| LayoutCalculatorError::SizeOverflow)?;
let (repr, align) = match kind {
VectorKind::Scalable => {
(BackendRepr::ScalableVector { element, count }, dl.llvmlike_vector_align(size))
SimdVectorKind::Scalable => {
(BackendRepr::SimdScalableVector { element, count }, dl.llvmlike_vector_align(size))
}
// Non-power-of-two vectors have padding up to the next power-of-two.
// If we're a packed repr, remove the padding while keeping the alignment as close
// to a vector as possible.
VectorKind::PackedFixed if !count.is_power_of_two() => {
SimdVectorKind::PackedFixed if !count.is_power_of_two() => {
(BackendRepr::Memory { sized: true }, Align::max_aligned_factor(size))
}
VectorKind::PackedFixed | VectorKind::Fixed => {
SimdVectorKind::PackedFixed | SimdVectorKind::Fixed => {
(BackendRepr::SimdVector { element, count }, dl.llvmlike_vector_align(size))
}
};
Expand Down
20 changes: 10 additions & 10 deletions compiler/rustc_abi/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1731,7 +1731,7 @@ impl AddressSpace {
pub enum BackendRepr {
Scalar(Scalar),
ScalarPair(Scalar, Scalar),
ScalableVector {
SimdScalableVector {
element: Scalar,
count: u64,
},
Expand All @@ -1758,7 +1758,7 @@ impl BackendRepr {
// fully implemented, scalable vectors will remain `Sized`, they just won't be
// `const Sized` - whether `is_unsized` continues to return `false` at that point will
// need to be revisited and will depend on what `is_unsized` is used for.
| BackendRepr::ScalableVector { .. }
| BackendRepr::SimdScalableVector { .. }
| BackendRepr::SimdVector { .. } => false,
BackendRepr::Memory { sized } => !sized,
}
Expand Down Expand Up @@ -1801,7 +1801,7 @@ impl BackendRepr {
// The align of a Vector can vary in surprising ways
BackendRepr::SimdVector { .. }
| BackendRepr::Memory { .. }
| BackendRepr::ScalableVector { .. } => None,
| BackendRepr::SimdScalableVector { .. } => None,
}
}

Expand All @@ -1825,7 +1825,7 @@ impl BackendRepr {
// The size of a Vector can vary in surprising ways
BackendRepr::SimdVector { .. }
| BackendRepr::Memory { .. }
| BackendRepr::ScalableVector { .. } => None,
| BackendRepr::SimdScalableVector { .. } => None,
}
}

Expand All @@ -1840,8 +1840,8 @@ impl BackendRepr {
BackendRepr::SimdVector { element: element.to_union(), count }
}
BackendRepr::Memory { .. } => BackendRepr::Memory { sized: true },
BackendRepr::ScalableVector { element, count } => {
BackendRepr::ScalableVector { element: element.to_union(), count }
BackendRepr::SimdScalableVector { element, count } => {
BackendRepr::SimdScalableVector { element: element.to_union(), count }
}
}
}
Expand Down Expand Up @@ -2085,7 +2085,7 @@ impl<FieldIdx: Idx, VariantIdx: Idx> LayoutData<FieldIdx, VariantIdx> {
match self.backend_repr {
BackendRepr::Scalar(_)
| BackendRepr::SimdVector { .. }
| BackendRepr::ScalableVector { .. } => false,
| BackendRepr::SimdScalableVector { .. } => false,
BackendRepr::ScalarPair(..) | BackendRepr::Memory { .. } => true,
}
}
Expand Down Expand Up @@ -2182,13 +2182,13 @@ impl<FieldIdx: Idx, VariantIdx: Idx> LayoutData<FieldIdx, VariantIdx> {

/// Returns `true` if the size of the type is only known at runtime.
pub fn is_runtime_sized(&self) -> bool {
matches!(self.backend_repr, BackendRepr::ScalableVector { .. })
matches!(self.backend_repr, BackendRepr::SimdScalableVector { .. })
}

/// Returns the elements count of a scalable vector.
pub fn scalable_vector_element_count(&self) -> Option<u64> {
match self.backend_repr {
BackendRepr::ScalableVector { count, .. } => Some(count),
BackendRepr::SimdScalableVector { count, .. } => Some(count),
_ => None,
}
}
Expand All @@ -2201,7 +2201,7 @@ impl<FieldIdx: Idx, VariantIdx: Idx> LayoutData<FieldIdx, VariantIdx> {
match self.backend_repr {
BackendRepr::Scalar(_)
| BackendRepr::ScalarPair(..)
| BackendRepr::ScalableVector { .. }
| BackendRepr::SimdScalableVector { .. }
| BackendRepr::SimdVector { .. } => false,
BackendRepr::Memory { sized } => sized && self.size.bytes() == 0,
}
Expand Down
Loading
Loading