Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 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
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
6419556
Rollup merge of #149130 - frank-king:feature/pin-coerce, r=jackh726
JonathanBrouwer Mar 10, 2026
4c6755c
Rollup merge of #153143 - ferrocene:jh/bootstrap-test-targets, r=Mark…
JonathanBrouwer Mar 10, 2026
4a031de
Rollup merge of #153471 - nnethercote:complete_inner, r=petrochenkov
JonathanBrouwer Mar 10, 2026
49d5a03
Rollup merge of #153595 - nnethercote:QueryLatch-cleanups, r=petroche…
JonathanBrouwer Mar 10, 2026
7418edd
Rollup merge of #153653 - davidtwco:sve-cleanups, r=lqd
JonathanBrouwer Mar 10, 2026
8606308
Rollup merge of #152302 - ShE3py:cargo-envs, r=davidtwco
JonathanBrouwer Mar 10, 2026
cf951ba
Rollup merge of #153283 - LukeMathWalker:add-rkyv-support, r=aDotInTh…
JonathanBrouwer Mar 10, 2026
4877681
Rollup merge of #153479 - xfq:issue-84447-20260306, r=davidtwco
JonathanBrouwer Mar 10, 2026
9b706a7
Rollup merge of #153533 - homersimpsons:chore/fix-LegacyKeyValueForma…
JonathanBrouwer Mar 10, 2026
f089301
Rollup merge of #153600 - cyrgani:any-panic-pm, r=davidtwco
JonathanBrouwer Mar 10, 2026
17a6b83
Rollup merge of #153643 - TaKO8Ki:issue-153539, r=Kivooeo
JonathanBrouwer Mar 10, 2026
a2d0819
Rollup merge of #153657 - davidtwco:triagebot-remove-davidtwco-diags,…
JonathanBrouwer Mar 10, 2026
313da71
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