Skip to content

Commit 116819f

Browse files
committed
Auto merge of rust-lang#99278 - Dylan-DPC:rollup-fcln6st, r=Dylan-DPC
Rollup of 5 pull requests Successful merges: - rust-lang#88991 (Add Nintendo Switch as tier 3 target) - rust-lang#98869 (Remove some usages of `guess_head_span`) - rust-lang#99119 (Refactor: remove a string matching about methods) - rust-lang#99209 (Correctly handle crate level page on docs.rs as well) - rust-lang#99246 (Update RLS) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
2 parents 6077b7c + 8e3dd62 commit 116819f

Some content is hidden

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

54 files changed

+468
-324
lines changed

compiler/rustc_hir/src/hir.rs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1824,6 +1824,14 @@ impl Expr<'_> {
18241824
_ => false,
18251825
}
18261826
}
1827+
1828+
pub fn method_ident(&self) -> Option<Ident> {
1829+
match self.kind {
1830+
ExprKind::MethodCall(receiver_method, ..) => Some(receiver_method.ident),
1831+
ExprKind::Unary(_, expr) | ExprKind::AddrOf(.., expr) => expr.method_ident(),
1832+
_ => None,
1833+
}
1834+
}
18271835
}
18281836

18291837
/// Checks if the specified expression is a built-in range literal.

compiler/rustc_infer/src/infer/canonical/query_response.rs

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -714,10 +714,7 @@ impl<'tcx> TypeRelatingDelegate<'tcx> for QueryTypeRelatingDelegate<'_, 'tcx> {
714714
}
715715

716716
fn const_equate(&mut self, _a: Const<'tcx>, _b: Const<'tcx>) {
717-
span_bug!(
718-
self.cause.span(self.infcx.tcx),
719-
"generic_const_exprs: unreachable `const_equate`"
720-
);
717+
span_bug!(self.cause.span(), "generic_const_exprs: unreachable `const_equate`");
721718
}
722719

723720
fn normalization() -> NormalizationStrategy {

compiler/rustc_infer/src/infer/error_reporting/mod.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1435,7 +1435,7 @@ impl<'a, 'tcx> InferCtxt<'a, 'tcx> {
14351435
swap_secondary_and_primary: bool,
14361436
force_label: bool,
14371437
) {
1438-
let span = cause.span(self.tcx);
1438+
let span = cause.span();
14391439

14401440
// For some types of errors, expected-found does not make
14411441
// sense, so just ignore the values we were given.
@@ -2085,7 +2085,7 @@ impl<'a, 'tcx> InferCtxt<'a, 'tcx> {
20852085

20862086
debug!("report_and_explain_type_error(trace={:?}, terr={:?})", trace, terr);
20872087

2088-
let span = trace.cause.span(self.tcx);
2088+
let span = trace.cause.span();
20892089
let failure_code = trace.cause.as_failure_code(terr);
20902090
let mut diag = match failure_code {
20912091
FailureCode::Error0038(did) => {

compiler/rustc_infer/src/infer/error_reporting/nice_region_error/placeholder_error.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -204,7 +204,7 @@ impl<'tcx> NiceRegionError<'_, 'tcx> {
204204
expected_substs: SubstsRef<'tcx>,
205205
actual_substs: SubstsRef<'tcx>,
206206
) -> DiagnosticBuilder<'tcx, ErrorGuaranteed> {
207-
let span = cause.span(self.tcx());
207+
let span = cause.span();
208208
let msg = format!(
209209
"implementation of `{}` is not general enough",
210210
self.tcx().def_path_str(trait_def_id),

compiler/rustc_infer/src/traits/error_reporting/mod.rs

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -18,20 +18,19 @@ impl<'a, 'tcx> InferCtxt<'a, 'tcx> {
1818
trait_item_def_id: DefId,
1919
requirement: &dyn fmt::Display,
2020
) -> DiagnosticBuilder<'tcx, ErrorGuaranteed> {
21-
let msg = "impl has stricter requirements than trait";
22-
let sp = self.tcx.sess.source_map().guess_head_span(error_span);
21+
let mut err = struct_span_err!(
22+
self.tcx.sess,
23+
error_span,
24+
E0276,
25+
"impl has stricter requirements than trait"
26+
);
2327

24-
let mut err = struct_span_err!(self.tcx.sess, sp, E0276, "{}", msg);
25-
26-
if trait_item_def_id.is_local() {
28+
if let Some(span) = self.tcx.hir().span_if_local(trait_item_def_id) {
2729
let item_name = self.tcx.item_name(impl_item_def_id.to_def_id());
28-
err.span_label(
29-
self.tcx.def_span(trait_item_def_id),
30-
format!("definition of `{}` from trait", item_name),
31-
);
30+
err.span_label(span, format!("definition of `{}` from trait", item_name));
3231
}
3332

34-
err.span_label(sp, format!("impl has extra requirement {}", requirement));
33+
err.span_label(error_span, format!("impl has extra requirement {}", requirement));
3534

3635
err
3736
}
@@ -48,7 +47,6 @@ pub fn report_object_safety_error<'tcx>(
4847
hir::Node::Item(item) => Some(item.ident.span),
4948
_ => None,
5049
});
51-
let span = tcx.sess.source_map().guess_head_span(span);
5250
let mut err = struct_span_err!(
5351
tcx.sess,
5452
span,

compiler/rustc_lint/src/context.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -694,9 +694,8 @@ pub trait LintContext: Sized {
694694
}
695695

696696
if let Some(span) = in_test_module {
697-
let def_span = self.sess().source_map().guess_head_span(span);
698697
db.span_help(
699-
span.shrink_to_lo().to(def_span),
698+
self.sess().source_map().guess_head_span(span),
700699
"consider adding a `#[cfg(test)]` to the containing module",
701700
);
702701
}

compiler/rustc_middle/src/traits/mod.rs

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -139,13 +139,8 @@ impl<'tcx> ObligationCause<'tcx> {
139139
ObligationCause { span, body_id: hir::CRATE_HIR_ID, code: Default::default() }
140140
}
141141

142-
pub fn span(&self, tcx: TyCtxt<'tcx>) -> Span {
142+
pub fn span(&self) -> Span {
143143
match *self.code() {
144-
ObligationCauseCode::CompareImplMethodObligation { .. }
145-
| ObligationCauseCode::MainFunctionType
146-
| ObligationCauseCode::StartFunctionType => {
147-
tcx.sess.source_map().guess_head_span(self.span)
148-
}
149144
ObligationCauseCode::MatchExpressionArm(box MatchExpressionArmCause {
150145
arm_span,
151146
..

compiler/rustc_privacy/src/lib.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1759,8 +1759,7 @@ impl SearchInterfaceForPrivateItemsVisitor<'_> {
17591759
|| self.tcx.resolutions(()).has_pub_restricted
17601760
{
17611761
let descr = descr.to_string();
1762-
let vis_span =
1763-
self.tcx.sess.source_map().guess_head_span(self.tcx.def_span(def_id));
1762+
let vis_span = self.tcx.def_span(def_id);
17641763
if kind == "trait" {
17651764
self.tcx.sess.emit_err(InPublicInterfaceTraits {
17661765
span,

compiler/rustc_span/src/symbol.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1435,6 +1435,8 @@ symbols! {
14351435
thumb2,
14361436
thumb_mode: "thumb-mode",
14371437
tmm_reg,
1438+
to_string,
1439+
to_vec,
14381440
todo_macro,
14391441
tool_attributes,
14401442
tool_lints,
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
use super::{LinkerFlavor, LldFlavor, PanicStrategy, RelroLevel, Target, TargetOptions};
2+
3+
const LINKER_SCRIPT: &str = include_str!("./aarch64_nintendo_switch_freestanding_linker_script.ld");
4+
5+
/// A base target for Nintendo Switch devices using a pure LLVM toolchain.
6+
pub fn target() -> Target {
7+
Target {
8+
llvm_target: "aarch64-unknown-none".into(),
9+
pointer_width: 64,
10+
data_layout: "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128".into(),
11+
arch: "aarch64".into(),
12+
options: TargetOptions {
13+
linker_flavor: LinkerFlavor::Lld(LldFlavor::Ld),
14+
linker: Some("rust-lld".into()),
15+
link_script: Some(LINKER_SCRIPT.into()),
16+
os: "horizon".into(),
17+
max_atomic_width: Some(128),
18+
panic_strategy: PanicStrategy::Abort,
19+
position_independent_executables: true,
20+
dynamic_linking: true,
21+
executables: true,
22+
relro_level: RelroLevel::Off,
23+
..Default::default()
24+
},
25+
}
26+
}

0 commit comments

Comments
 (0)