Skip to content

Commit 27c25c6

Browse files
Merge branch 'master' into feat/update-libc
2 parents e019940 + 0b1bf71 commit 27c25c6

File tree

555 files changed

+16923
-4420
lines changed

Some content is hidden

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

555 files changed

+16923
-4420
lines changed

Diff for: Cargo.lock

+2-2
Original file line numberDiff line numberDiff line change
@@ -111,9 +111,9 @@ dependencies = [
111111

112112
[[package]]
113113
name = "anstream"
114-
version = "0.6.17"
114+
version = "0.6.18"
115115
source = "registry+https://github.com/rust-lang/crates.io-index"
116-
checksum = "23a1e53f0f5d86382dafe1cf314783b2044280f406e7e1506368220ad11b1338"
116+
checksum = "8acc5369981196006228e28809f761875c0327210a891e941f4c683b3a99529b"
117117
dependencies = [
118118
"anstyle",
119119
"anstyle-parse",

Diff for: RELEASES.md

-7
Original file line numberDiff line numberDiff line change
@@ -670,13 +670,6 @@ Cargo
670670
- [Support `target.<triple>.rustdocflags` officially](https://github.com/rust-lang/cargo/pull/13197/)
671671
- [Stabilize global cache data tracking](https://github.com/rust-lang/cargo/pull/13492/)
672672

673-
<a id="1.78.0-Misc"></a>
674-
675-
Misc
676-
----
677-
678-
- [rustdoc: add `--test-builder-wrapper` arg to support wrappers such as RUSTC_WRAPPER when building doctests](https://github.com/rust-lang/rust/pull/114651/)
679-
680673
<a id="1.78.0-Compatibility-Notes"></a>
681674

682675
Compatibility Notes

Diff for: compiler/rustc_ast/src/mut_visit.rs

+134-40
Original file line numberDiff line numberDiff line change
@@ -104,8 +104,16 @@ pub trait MutVisitor: Sized {
104104
walk_use_tree(self, use_tree);
105105
}
106106

107+
fn visit_foreign_item(&mut self, ni: &mut P<ForeignItem>) {
108+
walk_item(self, ni);
109+
}
110+
107111
fn flat_map_foreign_item(&mut self, ni: P<ForeignItem>) -> SmallVec<[P<ForeignItem>; 1]> {
108-
walk_flat_map_item(self, ni)
112+
walk_flat_map_foreign_item(self, ni)
113+
}
114+
115+
fn visit_item(&mut self, i: &mut P<Item>) {
116+
walk_item(self, i);
109117
}
110118

111119
fn flat_map_item(&mut self, i: P<Item>) -> SmallVec<[P<Item>; 1]> {
@@ -116,10 +124,18 @@ pub trait MutVisitor: Sized {
116124
walk_fn_header(self, header);
117125
}
118126

127+
fn visit_field_def(&mut self, fd: &mut FieldDef) {
128+
walk_field_def(self, fd);
129+
}
130+
119131
fn flat_map_field_def(&mut self, fd: FieldDef) -> SmallVec<[FieldDef; 1]> {
120132
walk_flat_map_field_def(self, fd)
121133
}
122134

135+
fn visit_assoc_item(&mut self, i: &mut P<AssocItem>, ctxt: AssocCtxt) {
136+
walk_assoc_item(self, i, ctxt)
137+
}
138+
123139
fn flat_map_assoc_item(
124140
&mut self,
125141
i: P<AssocItem>,
@@ -153,6 +169,10 @@ pub trait MutVisitor: Sized {
153169
walk_flat_map_stmt(self, s)
154170
}
155171

172+
fn visit_arm(&mut self, arm: &mut Arm) {
173+
walk_arm(self, arm);
174+
}
175+
156176
fn flat_map_arm(&mut self, arm: Arm) -> SmallVec<[Arm; 1]> {
157177
walk_flat_map_arm(self, arm)
158178
}
@@ -199,6 +219,10 @@ pub trait MutVisitor: Sized {
199219
walk_foreign_mod(self, nm);
200220
}
201221

222+
fn visit_variant(&mut self, v: &mut Variant) {
223+
walk_variant(self, v);
224+
}
225+
202226
fn flat_map_variant(&mut self, v: Variant) -> SmallVec<[Variant; 1]> {
203227
walk_flat_map_variant(self, v)
204228
}
@@ -251,6 +275,10 @@ pub trait MutVisitor: Sized {
251275
walk_attribute(self, at);
252276
}
253277

278+
fn visit_param(&mut self, param: &mut Param) {
279+
walk_param(self, param);
280+
}
281+
254282
fn flat_map_param(&mut self, param: Param) -> SmallVec<[Param; 1]> {
255283
walk_flat_map_param(self, param)
256284
}
@@ -271,6 +299,10 @@ pub trait MutVisitor: Sized {
271299
walk_variant_data(self, vdata);
272300
}
273301

302+
fn visit_generic_param(&mut self, param: &mut GenericParam) {
303+
walk_generic_param(self, param)
304+
}
305+
274306
fn flat_map_generic_param(&mut self, param: GenericParam) -> SmallVec<[GenericParam; 1]> {
275307
walk_flat_map_generic_param(self, param)
276308
}
@@ -287,6 +319,10 @@ pub trait MutVisitor: Sized {
287319
walk_mt(self, mt);
288320
}
289321

322+
fn visit_expr_field(&mut self, f: &mut ExprField) {
323+
walk_expr_field(self, f);
324+
}
325+
290326
fn flat_map_expr_field(&mut self, f: ExprField) -> SmallVec<[ExprField; 1]> {
291327
walk_flat_map_expr_field(self, f)
292328
}
@@ -311,6 +347,10 @@ pub trait MutVisitor: Sized {
311347
// Do nothing.
312348
}
313349

350+
fn visit_pat_field(&mut self, fp: &mut PatField) {
351+
walk_pat_field(self, fp)
352+
}
353+
314354
fn flat_map_pat_field(&mut self, fp: PatField) -> SmallVec<[PatField; 1]> {
315355
walk_flat_map_pat_field(self, fp)
316356
}
@@ -330,6 +370,10 @@ pub trait MutVisitor: Sized {
330370
fn visit_capture_by(&mut self, capture_by: &mut CaptureBy) {
331371
walk_capture_by(self, capture_by)
332372
}
373+
374+
fn visit_fn_ret_ty(&mut self, fn_ret_ty: &mut FnRetTy) {
375+
walk_fn_ret_ty(self, fn_ret_ty)
376+
}
333377
}
334378

335379
/// Use a map-style function (`FnOnce(T) -> T`) to overwrite a `&mut T`. Useful
@@ -425,16 +469,20 @@ pub fn visit_delim_span<T: MutVisitor>(vis: &mut T, DelimSpan { open, close }: &
425469
vis.visit_span(close);
426470
}
427471

428-
pub fn walk_flat_map_pat_field<T: MutVisitor>(
429-
vis: &mut T,
430-
mut fp: PatField,
431-
) -> SmallVec<[PatField; 1]> {
432-
let PatField { attrs, id, ident, is_placeholder: _, is_shorthand: _, pat, span } = &mut fp;
472+
pub fn walk_pat_field<T: MutVisitor>(vis: &mut T, fp: &mut PatField) {
473+
let PatField { attrs, id, ident, is_placeholder: _, is_shorthand: _, pat, span } = fp;
433474
vis.visit_id(id);
434475
visit_attrs(vis, attrs);
435476
vis.visit_ident(ident);
436477
vis.visit_pat(pat);
437478
vis.visit_span(span);
479+
}
480+
481+
pub fn walk_flat_map_pat_field<T: MutVisitor>(
482+
vis: &mut T,
483+
mut fp: PatField,
484+
) -> SmallVec<[PatField; 1]> {
485+
vis.visit_pat_field(&mut fp);
438486
smallvec![fp]
439487
}
440488

@@ -455,14 +503,18 @@ fn walk_use_tree<T: MutVisitor>(vis: &mut T, use_tree: &mut UseTree) {
455503
vis.visit_span(span);
456504
}
457505

458-
pub fn walk_flat_map_arm<T: MutVisitor>(vis: &mut T, mut arm: Arm) -> SmallVec<[Arm; 1]> {
459-
let Arm { attrs, pat, guard, body, span, id, is_placeholder: _ } = &mut arm;
506+
pub fn walk_arm<T: MutVisitor>(vis: &mut T, arm: &mut Arm) {
507+
let Arm { attrs, pat, guard, body, span, id, is_placeholder: _ } = arm;
460508
vis.visit_id(id);
461509
visit_attrs(vis, attrs);
462510
vis.visit_pat(pat);
463511
visit_opt(guard, |guard| vis.visit_expr(guard));
464512
visit_opt(body, |body| vis.visit_expr(body));
465513
vis.visit_span(span);
514+
}
515+
516+
pub fn walk_flat_map_arm<T: MutVisitor>(vis: &mut T, mut arm: Arm) -> SmallVec<[Arm; 1]> {
517+
vis.visit_arm(&mut arm);
466518
smallvec![arm]
467519
}
468520

@@ -539,18 +591,22 @@ fn walk_foreign_mod<T: MutVisitor>(vis: &mut T, foreign_mod: &mut ForeignMod) {
539591
items.flat_map_in_place(|item| vis.flat_map_foreign_item(item));
540592
}
541593

542-
pub fn walk_flat_map_variant<T: MutVisitor>(
543-
visitor: &mut T,
544-
mut variant: Variant,
545-
) -> SmallVec<[Variant; 1]> {
546-
let Variant { ident, vis, attrs, id, data, disr_expr, span, is_placeholder: _ } = &mut variant;
594+
pub fn walk_variant<T: MutVisitor>(visitor: &mut T, variant: &mut Variant) {
595+
let Variant { ident, vis, attrs, id, data, disr_expr, span, is_placeholder: _ } = variant;
547596
visitor.visit_id(id);
548597
visit_attrs(visitor, attrs);
549598
visitor.visit_vis(vis);
550599
visitor.visit_ident(ident);
551600
visitor.visit_variant_data(data);
552601
visit_opt(disr_expr, |disr_expr| visitor.visit_anon_const(disr_expr));
553602
visitor.visit_span(span);
603+
}
604+
605+
pub fn walk_flat_map_variant<T: MutVisitor>(
606+
vis: &mut T,
607+
mut variant: Variant,
608+
) -> SmallVec<[Variant; 1]> {
609+
vis.visit_variant(&mut variant);
554610
smallvec![variant]
555611
}
556612

@@ -609,7 +665,7 @@ fn walk_angle_bracketed_parameter_data<T: MutVisitor>(vis: &mut T, data: &mut An
609665
fn walk_parenthesized_parameter_data<T: MutVisitor>(vis: &mut T, args: &mut ParenthesizedArgs) {
610666
let ParenthesizedArgs { inputs, output, span, inputs_span } = args;
611667
visit_thin_vec(inputs, |input| vis.visit_ty(input));
612-
walk_fn_ret_ty(vis, output);
668+
vis.visit_fn_ret_ty(output);
613669
vis.visit_span(span);
614670
vis.visit_span(inputs_span);
615671
}
@@ -681,13 +737,17 @@ fn walk_meta_item<T: MutVisitor>(vis: &mut T, mi: &mut MetaItem) {
681737
vis.visit_span(span);
682738
}
683739

684-
pub fn walk_flat_map_param<T: MutVisitor>(vis: &mut T, mut param: Param) -> SmallVec<[Param; 1]> {
685-
let Param { attrs, id, pat, span, ty, is_placeholder: _ } = &mut param;
740+
pub fn walk_param<T: MutVisitor>(vis: &mut T, param: &mut Param) {
741+
let Param { attrs, id, pat, span, ty, is_placeholder: _ } = param;
686742
vis.visit_id(id);
687743
visit_attrs(vis, attrs);
688744
vis.visit_pat(pat);
689745
vis.visit_ty(ty);
690746
vis.visit_span(span);
747+
}
748+
749+
pub fn walk_flat_map_param<T: MutVisitor>(vis: &mut T, mut param: Param) -> SmallVec<[Param; 1]> {
750+
vis.visit_param(&mut param);
691751
smallvec![param]
692752
}
693753

@@ -911,7 +971,7 @@ fn walk_fn<T: MutVisitor>(vis: &mut T, kind: FnKind<'_>) {
911971
fn walk_fn_decl<T: MutVisitor>(vis: &mut T, decl: &mut P<FnDecl>) {
912972
let FnDecl { inputs, output } = decl.deref_mut();
913973
inputs.flat_map_in_place(|param| vis.flat_map_param(param));
914-
walk_fn_ret_ty(vis, output);
974+
vis.visit_fn_ret_ty(output);
915975
}
916976

917977
fn walk_fn_ret_ty<T: MutVisitor>(vis: &mut T, fn_ret_ty: &mut FnRetTy) {
@@ -946,11 +1006,8 @@ fn walk_precise_capturing_arg<T: MutVisitor>(vis: &mut T, arg: &mut PreciseCaptu
9461006
}
9471007
}
9481008

949-
pub fn walk_flat_map_generic_param<T: MutVisitor>(
950-
vis: &mut T,
951-
mut param: GenericParam,
952-
) -> SmallVec<[GenericParam; 1]> {
953-
let GenericParam { id, ident, attrs, bounds, kind, colon_span, is_placeholder: _ } = &mut param;
1009+
pub fn walk_generic_param<T: MutVisitor>(vis: &mut T, param: &mut GenericParam) {
1010+
let GenericParam { id, ident, attrs, bounds, kind, colon_span, is_placeholder: _ } = param;
9541011
vis.visit_id(id);
9551012
visit_attrs(vis, attrs);
9561013
vis.visit_ident(ident);
@@ -968,6 +1025,13 @@ pub fn walk_flat_map_generic_param<T: MutVisitor>(
9681025
if let Some(colon_span) = colon_span {
9691026
vis.visit_span(colon_span);
9701027
}
1028+
}
1029+
1030+
pub fn walk_flat_map_generic_param<T: MutVisitor>(
1031+
vis: &mut T,
1032+
mut param: GenericParam,
1033+
) -> SmallVec<[GenericParam; 1]> {
1034+
vis.visit_generic_param(&mut param);
9711035
smallvec![param]
9721036
}
9731037

@@ -1050,30 +1114,38 @@ fn walk_poly_trait_ref<T: MutVisitor>(vis: &mut T, p: &mut PolyTraitRef) {
10501114
vis.visit_span(span);
10511115
}
10521116

1053-
pub fn walk_flat_map_field_def<T: MutVisitor>(
1054-
visitor: &mut T,
1055-
mut fd: FieldDef,
1056-
) -> SmallVec<[FieldDef; 1]> {
1057-
let FieldDef { span, ident, vis, id, ty, attrs, is_placeholder: _ } = &mut fd;
1117+
pub fn walk_field_def<T: MutVisitor>(visitor: &mut T, fd: &mut FieldDef) {
1118+
let FieldDef { span, ident, vis, id, ty, attrs, is_placeholder: _ } = fd;
10581119
visitor.visit_id(id);
10591120
visit_attrs(visitor, attrs);
10601121
visitor.visit_vis(vis);
10611122
visit_opt(ident, |ident| visitor.visit_ident(ident));
10621123
visitor.visit_ty(ty);
10631124
visitor.visit_span(span);
1064-
smallvec![fd]
10651125
}
10661126

1067-
pub fn walk_flat_map_expr_field<T: MutVisitor>(
1127+
pub fn walk_flat_map_field_def<T: MutVisitor>(
10681128
vis: &mut T,
1069-
mut f: ExprField,
1070-
) -> SmallVec<[ExprField; 1]> {
1071-
let ExprField { ident, expr, span, is_shorthand: _, attrs, id, is_placeholder: _ } = &mut f;
1129+
mut fd: FieldDef,
1130+
) -> SmallVec<[FieldDef; 1]> {
1131+
vis.visit_field_def(&mut fd);
1132+
smallvec![fd]
1133+
}
1134+
1135+
pub fn walk_expr_field<T: MutVisitor>(vis: &mut T, f: &mut ExprField) {
1136+
let ExprField { ident, expr, span, is_shorthand: _, attrs, id, is_placeholder: _ } = f;
10721137
vis.visit_id(id);
10731138
visit_attrs(vis, attrs);
10741139
vis.visit_ident(ident);
10751140
vis.visit_expr(expr);
10761141
vis.visit_span(span);
1142+
}
1143+
1144+
pub fn walk_flat_map_expr_field<T: MutVisitor>(
1145+
vis: &mut T,
1146+
mut f: ExprField,
1147+
) -> SmallVec<[ExprField; 1]> {
1148+
vis.visit_expr_field(&mut f);
10771149
smallvec![f]
10781150
}
10791151

@@ -1327,18 +1399,19 @@ pub fn walk_crate<T: MutVisitor>(vis: &mut T, krate: &mut Crate) {
13271399
vis.visit_span(inject_use_span);
13281400
}
13291401

1330-
pub fn walk_flat_map_item<K: WalkItemKind<Ctxt = ()>>(
1331-
visitor: &mut impl MutVisitor,
1332-
item: P<Item<K>>,
1333-
) -> SmallVec<[P<Item<K>>; 1]> {
1334-
walk_flat_map_assoc_item(visitor, item, ())
1402+
pub fn walk_item(visitor: &mut impl MutVisitor, item: &mut P<Item<impl WalkItemKind<Ctxt = ()>>>) {
1403+
walk_item_ctxt(visitor, item, ())
1404+
}
1405+
1406+
pub fn walk_assoc_item(visitor: &mut impl MutVisitor, item: &mut P<AssocItem>, ctxt: AssocCtxt) {
1407+
walk_item_ctxt(visitor, item, ctxt)
13351408
}
13361409

1337-
pub fn walk_flat_map_assoc_item<K: WalkItemKind>(
1410+
fn walk_item_ctxt<K: WalkItemKind>(
13381411
visitor: &mut impl MutVisitor,
1339-
mut item: P<Item<K>>,
1412+
item: &mut P<Item<K>>,
13401413
ctxt: K::Ctxt,
1341-
) -> SmallVec<[P<Item<K>>; 1]> {
1414+
) {
13421415
let Item { ident, attrs, id, kind, vis, span, tokens } = item.deref_mut();
13431416
visitor.visit_id(id);
13441417
visit_attrs(visitor, attrs);
@@ -1347,6 +1420,27 @@ pub fn walk_flat_map_assoc_item<K: WalkItemKind>(
13471420
kind.walk(*span, *id, ident, vis, ctxt, visitor);
13481421
visit_lazy_tts(visitor, tokens);
13491422
visitor.visit_span(span);
1423+
}
1424+
1425+
pub fn walk_flat_map_item(vis: &mut impl MutVisitor, mut item: P<Item>) -> SmallVec<[P<Item>; 1]> {
1426+
vis.visit_item(&mut item);
1427+
smallvec![item]
1428+
}
1429+
1430+
pub fn walk_flat_map_foreign_item(
1431+
vis: &mut impl MutVisitor,
1432+
mut item: P<ForeignItem>,
1433+
) -> SmallVec<[P<ForeignItem>; 1]> {
1434+
vis.visit_foreign_item(&mut item);
1435+
smallvec![item]
1436+
}
1437+
1438+
pub fn walk_flat_map_assoc_item(
1439+
vis: &mut impl MutVisitor,
1440+
mut item: P<AssocItem>,
1441+
ctxt: AssocCtxt,
1442+
) -> SmallVec<[P<AssocItem>; 1]> {
1443+
vis.visit_assoc_item(&mut item, ctxt);
13501444
smallvec![item]
13511445
}
13521446

0 commit comments

Comments
 (0)