Skip to content

Commit 2d8ccc5

Browse files
authored
Merge pull request rust-lang#4373 from rust-lang/rustup-2025-06-03
Automatic Rustup
2 parents c10a629 + 08cad5a commit 2d8ccc5

File tree

232 files changed

+4341
-2058
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

232 files changed

+4341
-2058
lines changed

.mailmap

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -653,7 +653,7 @@ Torsten Weber <TorstenWeber12@gmail.com> <torstenweber12@gmail.com>
653653
Trevor Gross <tmgross@umich.edu> <t.gross35@gmail.com>
654654
Trevor Gross <tmgross@umich.edu> <tgross@intrepidcs.com>
655655
Trevor Spiteri <tspiteri@ieee.org> <trevor.spiteri@um.edu.mt>
656-
Tshepang Mbambo <tshepang@gmail.com>
656+
Tshepang Mbambo <hopsi@tuta.io> <tshepang@gmail.com>
657657
Ty Overby <ty@pre-alpha.com>
658658
Tyler Mandry <tmandry@gmail.com> <tmandry@google.com>
659659
Tyler Ruckinger <t.ruckinger@gmail.com>

Cargo.lock

Lines changed: 5 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -177,56 +177,26 @@ version = "0.7.6"
177177
source = "registry+https://github.com/rust-lang/crates.io-index"
178178
checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50"
179179

180-
[[package]]
181-
name = "askama"
182-
version = "0.13.1"
183-
source = "registry+https://github.com/rust-lang/crates.io-index"
184-
checksum = "5d4744ed2eef2645831b441d8f5459689ade2ab27c854488fbab1fbe94fce1a7"
185-
dependencies = [
186-
"askama_derive 0.13.1",
187-
"itoa",
188-
"percent-encoding",
189-
"serde",
190-
"serde_json",
191-
]
192-
193180
[[package]]
194181
name = "askama"
195182
version = "0.14.0"
196183
source = "registry+https://github.com/rust-lang/crates.io-index"
197184
checksum = "f75363874b771be265f4ffe307ca705ef6f3baa19011c149da8674a87f1b75c4"
198185
dependencies = [
199-
"askama_derive 0.14.0",
186+
"askama_derive",
200187
"itoa",
201188
"percent-encoding",
202189
"serde",
203190
"serde_json",
204191
]
205192

206-
[[package]]
207-
name = "askama_derive"
208-
version = "0.13.1"
209-
source = "registry+https://github.com/rust-lang/crates.io-index"
210-
checksum = "d661e0f57be36a5c14c48f78d09011e67e0cb618f269cca9f2fd8d15b68c46ac"
211-
dependencies = [
212-
"askama_parser 0.13.0",
213-
"basic-toml",
214-
"memchr",
215-
"proc-macro2",
216-
"quote",
217-
"rustc-hash 2.1.1",
218-
"serde",
219-
"serde_derive",
220-
"syn 2.0.101",
221-
]
222-
223193
[[package]]
224194
name = "askama_derive"
225195
version = "0.14.0"
226196
source = "registry+https://github.com/rust-lang/crates.io-index"
227197
checksum = "129397200fe83088e8a68407a8e2b1f826cf0086b21ccdb866a722c8bcd3a94f"
228198
dependencies = [
229-
"askama_parser 0.14.0",
199+
"askama_parser",
230200
"basic-toml",
231201
"memchr",
232202
"proc-macro2",
@@ -237,18 +207,6 @@ dependencies = [
237207
"syn 2.0.101",
238208
]
239209

240-
[[package]]
241-
name = "askama_parser"
242-
version = "0.13.0"
243-
source = "registry+https://github.com/rust-lang/crates.io-index"
244-
checksum = "cf315ce6524c857bb129ff794935cf6d42c82a6cff60526fe2a63593de4d0d4f"
245-
dependencies = [
246-
"memchr",
247-
"serde",
248-
"serde_derive",
249-
"winnow 0.7.10",
250-
]
251-
252210
[[package]]
253211
name = "askama_parser"
254212
version = "0.14.0"
@@ -582,7 +540,7 @@ name = "clippy"
582540
version = "0.1.89"
583541
dependencies = [
584542
"anstream",
585-
"askama 0.13.1",
543+
"askama",
586544
"cargo_metadata 0.18.1",
587545
"clippy_config",
588546
"clippy_lints",
@@ -1432,7 +1390,7 @@ name = "generate-copyright"
14321390
version = "0.1.0"
14331391
dependencies = [
14341392
"anyhow",
1435-
"askama 0.14.0",
1393+
"askama",
14361394
"cargo_metadata 0.18.1",
14371395
"serde",
14381396
"serde_json",
@@ -4676,7 +4634,7 @@ name = "rustdoc"
46764634
version = "0.0.0"
46774635
dependencies = [
46784636
"arrayvec",
4679-
"askama 0.14.0",
4637+
"askama",
46804638
"base64",
46814639
"expect-test",
46824640
"indexmap",

compiler/rustc_borrowck/src/region_infer/mod.rs

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
use std::cell::OnceCell;
12
use std::collections::VecDeque;
23
use std::rc::Rc;
34

@@ -197,8 +198,8 @@ pub struct RegionInferenceContext<'tcx> {
197198

198199
/// Reverse of the SCC constraint graph -- i.e., an edge `A -> B` exists if
199200
/// `B: A`. This is used to compute the universal regions that are required
200-
/// to outlive a given SCC. Computed lazily.
201-
rev_scc_graph: Option<ReverseSccGraph>,
201+
/// to outlive a given SCC.
202+
rev_scc_graph: OnceCell<ReverseSccGraph>,
202203

203204
/// The "R0 member of [R1..Rn]" constraints, indexed by SCC.
204205
member_constraints: Rc<MemberConstraintSet<'tcx, ConstraintSccIndex>>,
@@ -502,7 +503,7 @@ impl<'tcx> RegionInferenceContext<'tcx> {
502503
constraint_graph,
503504
constraint_sccs,
504505
scc_annotations,
505-
rev_scc_graph: None,
506+
rev_scc_graph: OnceCell::new(),
506507
member_constraints,
507508
member_constraints_applied: Vec::new(),
508509
universe_causes,
@@ -809,9 +810,6 @@ impl<'tcx> RegionInferenceContext<'tcx> {
809810
member_constraint_index: NllMemberConstraintIndex,
810811
choice_regions: &[ty::RegionVid],
811812
) {
812-
// Lazily compute the reverse graph, we'll need it later.
813-
self.compute_reverse_scc_graph();
814-
815813
// Create a mutable vector of the options. We'll try to winnow
816814
// them down.
817815
let mut choice_regions: Vec<ty::RegionVid> = choice_regions.to_vec();
@@ -849,7 +847,7 @@ impl<'tcx> RegionInferenceContext<'tcx> {
849847
// R0`). Therefore, we need only keep an option `O` if `UB: O`
850848
// for all UB.
851849
let universal_region_relations = &self.universal_region_relations;
852-
for ub in self.rev_scc_graph.as_ref().unwrap().upper_bounds(scc) {
850+
for ub in self.reverse_scc_graph().upper_bounds(scc) {
853851
debug!(?ub);
854852
choice_regions.retain(|&o_r| universal_region_relations.outlives(ub, o_r));
855853
}

compiler/rustc_borrowck/src/region_infer/opaque_types.rs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -215,9 +215,7 @@ impl<'tcx> RegionInferenceContext<'tcx> {
215215
// FIXME: We could probably compute the LUB if there is one.
216216
let scc = self.constraint_sccs.scc(vid);
217217
let upper_bounds: Vec<_> = self
218-
.rev_scc_graph
219-
.as_ref()
220-
.unwrap()
218+
.reverse_scc_graph()
221219
.upper_bounds(scc)
222220
.filter_map(|vid| self.definitions[vid].external_name)
223221
.filter(|r| !r.is_static())

compiler/rustc_borrowck/src/region_infer/reverse_sccs.rs

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -59,13 +59,10 @@ impl ReverseSccGraph {
5959
}
6060

6161
impl RegionInferenceContext<'_> {
62-
/// Compute the reverse SCC-based constraint graph (lazily).
63-
pub(super) fn compute_reverse_scc_graph(&mut self) {
64-
if self.rev_scc_graph.is_some() {
65-
return;
66-
}
67-
68-
self.rev_scc_graph =
69-
Some(ReverseSccGraph::compute(&self.constraint_sccs, self.universal_regions()));
62+
/// Return the reverse graph of the region SCCs, initialising it if needed.
63+
pub(super) fn reverse_scc_graph(&self) -> &ReverseSccGraph {
64+
self.rev_scc_graph.get_or_init(|| {
65+
ReverseSccGraph::compute(&self.constraint_sccs, self.universal_regions())
66+
})
7067
}
7168
}

compiler/rustc_codegen_gcc/src/intrinsic/mod.rs

Lines changed: 16 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ use rustc_codegen_ssa::traits::{
2323
use rustc_middle::bug;
2424
#[cfg(feature = "master")]
2525
use rustc_middle::ty::layout::FnAbiOf;
26-
use rustc_middle::ty::layout::{HasTypingEnv, LayoutOf};
26+
use rustc_middle::ty::layout::LayoutOf;
2727
use rustc_middle::ty::{self, Instance, Ty};
2828
use rustc_span::{Span, Symbol, sym};
2929
use rustc_target::callconv::{ArgAbi, PassMode};
@@ -205,21 +205,10 @@ impl<'a, 'gcc, 'tcx> IntrinsicCallBuilderMethods<'tcx> for Builder<'a, 'gcc, 'tc
205205
span: Span,
206206
) -> Result<(), Instance<'tcx>> {
207207
let tcx = self.tcx;
208-
let callee_ty = instance.ty(tcx, self.typing_env());
209208

210-
let (def_id, fn_args) = match *callee_ty.kind() {
211-
ty::FnDef(def_id, fn_args) => (def_id, fn_args),
212-
_ => bug!("expected fn item type, found {}", callee_ty),
213-
};
214-
215-
let sig = callee_ty.fn_sig(tcx);
216-
let sig = tcx.normalize_erasing_late_bound_regions(self.typing_env(), sig);
217-
let arg_tys = sig.inputs();
218-
let ret_ty = sig.output();
219-
let name = tcx.item_name(def_id);
209+
let name = tcx.item_name(instance.def_id());
220210
let name_str = name.as_str();
221-
222-
let llret_ty = self.layout_of(ret_ty).gcc_type(self);
211+
let fn_args = instance.args;
223212

224213
let simple = get_simple_intrinsic(self, name);
225214
let simple_func = get_simple_function(self, name);
@@ -320,8 +309,7 @@ impl<'a, 'gcc, 'tcx> IntrinsicCallBuilderMethods<'tcx> for Builder<'a, 'gcc, 'tc
320309
| sym::rotate_right
321310
| sym::saturating_add
322311
| sym::saturating_sub => {
323-
let ty = arg_tys[0];
324-
match int_type_width_signed(ty, self) {
312+
match int_type_width_signed(args[0].layout.ty, self) {
325313
Some((width, signed)) => match name {
326314
sym::ctlz | sym::cttz => {
327315
let func = self.current_func.borrow().expect("func");
@@ -400,7 +388,7 @@ impl<'a, 'gcc, 'tcx> IntrinsicCallBuilderMethods<'tcx> for Builder<'a, 'gcc, 'tc
400388
tcx.dcx().emit_err(InvalidMonomorphization::BasicIntegerType {
401389
span,
402390
name,
403-
ty,
391+
ty: args[0].layout.ty,
404392
});
405393
return Ok(());
406394
}
@@ -492,7 +480,14 @@ impl<'a, 'gcc, 'tcx> IntrinsicCallBuilderMethods<'tcx> for Builder<'a, 'gcc, 'tc
492480
}
493481

494482
_ if name_str.starts_with("simd_") => {
495-
match generic_simd_intrinsic(self, name, callee_ty, args, ret_ty, llret_ty, span) {
483+
match generic_simd_intrinsic(
484+
self,
485+
name,
486+
args,
487+
result.layout.ty,
488+
result.layout.gcc_type(self),
489+
span,
490+
) {
496491
Ok(value) => value,
497492
Err(()) => return Ok(()),
498493
}
@@ -503,13 +498,10 @@ impl<'a, 'gcc, 'tcx> IntrinsicCallBuilderMethods<'tcx> for Builder<'a, 'gcc, 'tc
503498
};
504499

505500
if result.layout.ty.is_bool() {
506-
OperandRef::from_immediate_or_packed_pair(self, value, result.layout)
507-
.val
508-
.store(self, result);
501+
let val = self.from_immediate(value);
502+
self.store_to_place(val, result.val);
509503
} else if !result.layout.ty.is_unit() {
510-
let ptr_llty = self.type_ptr_to(result.layout.gcc_type(self));
511-
let ptr = self.pointercast(result.val.llval, ptr_llty);
512-
self.store(value, ptr, result.val.align);
504+
self.store_to_place(value, result.val);
513505
}
514506
Ok(())
515507
}

0 commit comments

Comments
 (0)