Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 2dece5b

Browse files
committed
Auto merge of #132317 - workingjubilee:rollup-x21ncea, r=workingjubilee
Rollup of 12 pull requests Successful merges: - #131375 (compiler: apply clippy::clone_on_ref_ptr for CI) - #131520 (Mark `str::is_char_boundary` and `str::split_at*` unstably `const`.) - #132119 (Hack out effects support for old solver) - #132194 (Collect item bounds for RPITITs from trait where clauses just like associated types) - #132216 (correct LLVMRustCreateThinLTOData arg types) - #132233 (Split `boxed.rs` into a few modules) - #132266 (riscv-soft-abi-with-float-features.rs: adapt for LLVM 20) - #132270 (clarified doc for `std::fs::OpenOptions.truncate()`) - #132284 (Remove my ping for rustdoc/clean/types.rs) - #132293 (Remove myself from mentions inside `tests/ui/check-cfg` directory) - #132312 (Delete `tests/crashes/23707.rs` because it's flaky) - #132313 (compiletest: Rename `command-list.rs` to `directive-list.rs`) r? `@ghost` `@rustbot` modify labels: rollup
2 parents c8a8c82 + 6c5641c commit 2dece5b

File tree

90 files changed

+1580
-1504
lines changed

Some content is hidden

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

90 files changed

+1580
-1504
lines changed

‎Cargo.lock

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3301,6 +3301,7 @@ version = "0.0.0"
33013301
dependencies = [
33023302
"itertools",
33033303
"rustc_ast",
3304+
"rustc_data_structures",
33043305
"rustc_lexer",
33053306
"rustc_span",
33063307
"thin-vec",

‎compiler/rustc_ast/src/token.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -368,7 +368,7 @@ impl Clone for TokenKind {
368368
// a copy. This is faster than the `derive(Clone)` version which has a
369369
// separate path for every variant.
370370
match self {
371-
Interpolated(nt) => Interpolated(nt.clone()),
371+
Interpolated(nt) => Interpolated(Lrc::clone(nt)),
372372
_ => unsafe { std::ptr::read(self) },
373373
}
374374
}

‎compiler/rustc_ast_lowering/src/expr.rs

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ use std::assert_matches::assert_matches;
33
use rustc_ast::ptr::P as AstP;
44
use rustc_ast::*;
55
use rustc_data_structures::stack::ensure_sufficient_stack;
6+
use rustc_data_structures::sync::Lrc;
67
use rustc_hir as hir;
78
use rustc_hir::HirId;
89
use rustc_hir::def::{DefKind, Res};
@@ -143,7 +144,7 @@ impl<'hir> LoweringContext<'_, 'hir> {
143144
ExprKind::IncludedBytes(bytes) => {
144145
let lit = self.arena.alloc(respan(
145146
self.lower_span(e.span),
146-
LitKind::ByteStr(bytes.clone(), StrStyle::Cooked),
147+
LitKind::ByteStr(Lrc::clone(bytes), StrStyle::Cooked),
147148
));
148149
hir::ExprKind::Lit(lit)
149150
}
@@ -536,15 +537,15 @@ impl<'hir> LoweringContext<'_, 'hir> {
536537
this.mark_span_with_reason(
537538
DesugaringKind::TryBlock,
538539
expr.span,
539-
Some(this.allow_try_trait.clone()),
540+
Some(Lrc::clone(&this.allow_try_trait)),
540541
),
541542
expr,
542543
)
543544
} else {
544545
let try_span = this.mark_span_with_reason(
545546
DesugaringKind::TryBlock,
546547
this.tcx.sess.source_map().end_point(body.span),
547-
Some(this.allow_try_trait.clone()),
548+
Some(Lrc::clone(&this.allow_try_trait)),
548549
);
549550

550551
(try_span, this.expr_unit(try_span))
@@ -653,7 +654,7 @@ impl<'hir> LoweringContext<'_, 'hir> {
653654
let unstable_span = self.mark_span_with_reason(
654655
DesugaringKind::Async,
655656
self.lower_span(span),
656-
Some(self.allow_gen_future.clone()),
657+
Some(Lrc::clone(&self.allow_gen_future)),
657658
);
658659
let resume_ty =
659660
self.make_lang_item_qpath(hir::LangItem::ResumeTy, unstable_span, None);
@@ -739,7 +740,7 @@ impl<'hir> LoweringContext<'_, 'hir> {
739740
let unstable_span = self.mark_span_with_reason(
740741
DesugaringKind::Async,
741742
span,
742-
Some(self.allow_gen_future.clone()),
743+
Some(Lrc::clone(&self.allow_gen_future)),
743744
);
744745
self.lower_attrs(inner_hir_id, &[Attribute {
745746
kind: AttrKind::Normal(ptr::P(NormalAttr::from_ident(Ident::new(
@@ -815,13 +816,13 @@ impl<'hir> LoweringContext<'_, 'hir> {
815816

816817
let features = match await_kind {
817818
FutureKind::Future => None,
818-
FutureKind::AsyncIterator => Some(self.allow_for_await.clone()),
819+
FutureKind::AsyncIterator => Some(Lrc::clone(&self.allow_for_await)),
819820
};
820821
let span = self.mark_span_with_reason(DesugaringKind::Await, await_kw_span, features);
821822
let gen_future_span = self.mark_span_with_reason(
822823
DesugaringKind::Await,
823824
full_span,
824-
Some(self.allow_gen_future.clone()),
825+
Some(Lrc::clone(&self.allow_gen_future)),
825826
);
826827
let expr_hir_id = expr.hir_id;
827828

@@ -1841,13 +1842,13 @@ impl<'hir> LoweringContext<'_, 'hir> {
18411842
let unstable_span = self.mark_span_with_reason(
18421843
DesugaringKind::QuestionMark,
18431844
span,
1844-
Some(self.allow_try_trait.clone()),
1845+
Some(Lrc::clone(&self.allow_try_trait)),
18451846
);
18461847
let try_span = self.tcx.sess.source_map().end_point(span);
18471848
let try_span = self.mark_span_with_reason(
18481849
DesugaringKind::QuestionMark,
18491850
try_span,
1850-
Some(self.allow_try_trait.clone()),
1851+
Some(Lrc::clone(&self.allow_try_trait)),
18511852
);
18521853

18531854
// `Try::branch(<expr>)`
@@ -1941,7 +1942,7 @@ impl<'hir> LoweringContext<'_, 'hir> {
19411942
let unstable_span = self.mark_span_with_reason(
19421943
DesugaringKind::YeetExpr,
19431944
span,
1944-
Some(self.allow_try_trait.clone()),
1945+
Some(Lrc::clone(&self.allow_try_trait)),
19451946
);
19461947

19471948
let from_yeet_expr = self.wrap_in_try_constructor(

‎compiler/rustc_ast_lowering/src/lib.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1878,7 +1878,7 @@ impl<'a, 'hir> LoweringContext<'a, 'hir> {
18781878
CoroutineKind::Async { return_impl_trait_id, .. } => (return_impl_trait_id, None),
18791879
CoroutineKind::Gen { return_impl_trait_id, .. } => (return_impl_trait_id, None),
18801880
CoroutineKind::AsyncGen { return_impl_trait_id, .. } => {
1881-
(return_impl_trait_id, Some(self.allow_async_iterator.clone()))
1881+
(return_impl_trait_id, Some(Lrc::clone(&self.allow_async_iterator)))
18821882
}
18831883
};
18841884

‎compiler/rustc_ast_lowering/src/path.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ impl<'a, 'hir> LoweringContext<'a, 'hir> {
7373
let bound_modifier_allowed_features = if let Res::Def(DefKind::Trait, async_def_id) = res
7474
&& self.tcx.async_fn_trait_kind_from_def_id(async_def_id).is_some()
7575
{
76-
Some(self.allow_async_fn_traits.clone())
76+
Some(Lrc::clone(&self.allow_async_fn_traits))
7777
} else {
7878
None
7979
};

‎compiler/rustc_ast_pretty/Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ edition = "2021"
77
# tidy-alphabetical-start
88
itertools = "0.12"
99
rustc_ast = { path = "../rustc_ast" }
10+
rustc_data_structures = { path = "../rustc_data_structures" }
1011
rustc_lexer = { path = "../rustc_lexer" }
1112
rustc_span = { path = "../rustc_span" }
1213
thin-vec = "0.2.12"

‎compiler/rustc_ast_pretty/src/pprust/state.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ use rustc_ast::{
2121
GenericBound, InlineAsmOperand, InlineAsmOptions, InlineAsmRegOrRegClass,
2222
InlineAsmTemplatePiece, PatKind, RangeEnd, RangeSyntax, Safety, SelfKind, Term, attr,
2323
};
24+
use rustc_data_structures::sync::Lrc;
2425
use rustc_span::edition::Edition;
2526
use rustc_span::source_map::{SourceMap, Spanned};
2627
use rustc_span::symbol::{Ident, IdentPrinter, Symbol, kw, sym};
@@ -105,7 +106,7 @@ fn split_block_comment_into_lines(text: &str, col: CharPos) -> Vec<String> {
105106
fn gather_comments(sm: &SourceMap, path: FileName, src: String) -> Vec<Comment> {
106107
let sm = SourceMap::new(sm.path_mapping().clone());
107108
let source_file = sm.new_source_file(path, src);
108-
let text = (*source_file.src.as_ref().unwrap()).clone();
109+
let text = Lrc::clone(&(*source_file.src.as_ref().unwrap()));
109110

110111
let text: &str = text.as_str();
111112
let start_bpos = source_file.start_pos;

‎compiler/rustc_borrowck/src/nll.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -107,13 +107,13 @@ pub(crate) fn compute_regions<'a, 'tcx>(
107107
param_env,
108108
body,
109109
promoted,
110-
universal_regions.clone(),
110+
Rc::clone(&universal_regions),
111111
location_table,
112112
borrow_set,
113113
&mut all_facts,
114114
flow_inits,
115115
move_data,
116-
elements.clone(),
116+
Rc::clone(&elements),
117117
upvars,
118118
);
119119

‎compiler/rustc_borrowck/src/region_infer/mod.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -733,7 +733,7 @@ impl<'tcx> RegionInferenceContext<'tcx> {
733733
}
734734

735735
// Now take member constraints into account.
736-
let member_constraints = self.member_constraints.clone();
736+
let member_constraints = Rc::clone(&self.member_constraints);
737737
for m_c_i in member_constraints.indices(scc_a) {
738738
self.apply_member_constraint(scc_a, m_c_i, member_constraints.choice_regions(m_c_i));
739739
}
@@ -1679,7 +1679,7 @@ impl<'tcx> RegionInferenceContext<'tcx> {
16791679
infcx: &InferCtxt<'tcx>,
16801680
errors_buffer: &mut RegionErrors<'tcx>,
16811681
) {
1682-
let member_constraints = self.member_constraints.clone();
1682+
let member_constraints = Rc::clone(&self.member_constraints);
16831683
for m_c_i in member_constraints.all_indices() {
16841684
debug!(?m_c_i);
16851685
let m_c = &member_constraints[m_c_i];

‎compiler/rustc_borrowck/src/type_check/mod.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,7 @@ pub(crate) fn type_check<'a, 'tcx>(
134134
let mut constraints = MirTypeckRegionConstraints {
135135
placeholder_indices: PlaceholderIndices::default(),
136136
placeholder_index_to_region: IndexVec::default(),
137-
liveness_constraints: LivenessValues::with_specific_points(elements.clone()),
137+
liveness_constraints: LivenessValues::with_specific_points(Rc::clone(&elements)),
138138
outlives_constraints: OutlivesConstraintSet::default(),
139139
member_constraints: MemberConstraintSet::default(),
140140
type_tests: Vec::default(),
@@ -150,7 +150,7 @@ pub(crate) fn type_check<'a, 'tcx>(
150150
infcx,
151151
param_env,
152152
implicit_region_bound,
153-
universal_regions.clone(),
153+
Rc::clone(&universal_regions),
154154
&mut constraints,
155155
);
156156

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /