Skip to content

Commit 47256b8

Browse files
committed
Remove private methods from TyCtxt impl block: rustc::infer::error_reporting.
1 parent 637793a commit 47256b8

File tree

2 files changed

+109
-108
lines changed

2 files changed

+109
-108
lines changed

src/librustc/infer/error_reporting/mod.rs

Lines changed: 107 additions & 107 deletions
Original file line numberDiff line numberDiff line change
@@ -107,9 +107,9 @@ impl<'tcx> TyCtxt<'tcx> {
107107
_ => "expression",
108108
},
109109
Some(Node::Stmt(_)) => "statement",
110-
Some(Node::Item(it)) => Self::item_scope_tag(&it),
111-
Some(Node::TraitItem(it)) => Self::trait_item_scope_tag(&it),
112-
Some(Node::ImplItem(it)) => Self::impl_item_scope_tag(&it),
110+
Some(Node::Item(it)) => item_scope_tag(&it),
111+
Some(Node::TraitItem(it)) => trait_item_scope_tag(&it),
112+
Some(Node::ImplItem(it)) => impl_item_scope_tag(&it),
113113
Some(_) | None => {
114114
err.span_note(span, &unknown_scope());
115115
return;
@@ -131,11 +131,11 @@ impl<'tcx> TyCtxt<'tcx> {
131131
&new_string[..]
132132
}
133133
};
134-
self.explain_span(scope_decorated_tag, span)
134+
explain_span(self, scope_decorated_tag, span)
135135
}
136136

137137
ty::ReEarlyBound(_) | ty::ReFree(_) | ty::ReStatic => {
138-
self.msg_span_from_free_region(region)
138+
msg_span_from_free_region(self, region)
139139
}
140140

141141
ty::ReEmpty => ("the empty lifetime".to_owned(), None),
@@ -157,7 +157,7 @@ impl<'tcx> TyCtxt<'tcx> {
157157
}
158158
};
159159

160-
TyCtxt::emit_msg_span(err, prefix, description, span, suffix);
160+
emit_msg_span(err, prefix, description, span, suffix);
161161
}
162162

163163
pub fn note_and_explain_free_region(
@@ -167,124 +167,124 @@ impl<'tcx> TyCtxt<'tcx> {
167167
region: ty::Region<'tcx>,
168168
suffix: &str,
169169
) {
170-
let (description, span) = self.msg_span_from_free_region(region);
170+
let (description, span) = msg_span_from_free_region(self, region);
171171

172-
TyCtxt::emit_msg_span(err, prefix, description, span, suffix);
172+
emit_msg_span(err, prefix, description, span, suffix);
173173
}
174+
}
174175

175-
fn msg_span_from_free_region(self, region: ty::Region<'tcx>) -> (String, Option<Span>) {
176-
match *region {
177-
ty::ReEarlyBound(_) | ty::ReFree(_) => {
178-
self.msg_span_from_early_bound_and_free_regions(region)
179-
}
180-
ty::ReStatic => ("the static lifetime".to_owned(), None),
181-
ty::ReEmpty => ("an empty lifetime".to_owned(), None),
182-
_ => bug!("{:?}", region),
176+
fn msg_span_from_free_region(
177+
tcx: TyCtxt<'tcx>,
178+
region: ty::Region<'tcx>,
179+
) -> (String, Option<Span>) {
180+
match *region {
181+
ty::ReEarlyBound(_) | ty::ReFree(_) => {
182+
msg_span_from_early_bound_and_free_regions(tcx, region)
183183
}
184+
ty::ReStatic => ("the static lifetime".to_owned(), None),
185+
ty::ReEmpty => ("an empty lifetime".to_owned(), None),
186+
_ => bug!("{:?}", region),
184187
}
188+
}
185189

186-
fn msg_span_from_early_bound_and_free_regions(
187-
self,
188-
region: ty::Region<'tcx>,
189-
) -> (String, Option<Span>) {
190-
let cm = self.sess.source_map();
191-
192-
let scope = region.free_region_binding_scope(self);
193-
let node = self.hir().as_local_hir_id(scope).unwrap_or(hir::DUMMY_HIR_ID);
194-
let tag = match self.hir().find(node) {
195-
Some(Node::Block(_)) | Some(Node::Expr(_)) => "body",
196-
Some(Node::Item(it)) => Self::item_scope_tag(&it),
197-
Some(Node::TraitItem(it)) => Self::trait_item_scope_tag(&it),
198-
Some(Node::ImplItem(it)) => Self::impl_item_scope_tag(&it),
199-
_ => unreachable!(),
200-
};
201-
let (prefix, span) = match *region {
202-
ty::ReEarlyBound(ref br) => {
203-
let mut sp = cm.def_span(self.hir().span(node));
204-
if let Some(param) =
205-
self.hir().get_generics(scope).and_then(|generics| generics.get_named(br.name))
206-
{
207-
sp = param.span;
208-
}
209-
(format!("the lifetime `{}` as defined on", br.name), sp)
210-
}
211-
ty::ReFree(ty::FreeRegion {
212-
bound_region: ty::BoundRegion::BrNamed(_, name), ..
213-
}) => {
214-
let mut sp = cm.def_span(self.hir().span(node));
215-
if let Some(param) =
216-
self.hir().get_generics(scope).and_then(|generics| generics.get_named(name))
217-
{
218-
sp = param.span;
219-
}
220-
(format!("the lifetime `{}` as defined on", name), sp)
221-
}
222-
ty::ReFree(ref fr) => match fr.bound_region {
223-
ty::BrAnon(idx) => (
224-
format!("the anonymous lifetime #{} defined on", idx + 1),
225-
self.hir().span(node),
226-
),
227-
_ => (
228-
format!("the lifetime `{}` as defined on", region),
229-
cm.def_span(self.hir().span(node)),
230-
),
231-
},
232-
_ => bug!(),
233-
};
234-
let (msg, opt_span) = self.explain_span(tag, span);
235-
(format!("{} {}", prefix, msg), opt_span)
236-
}
237-
238-
fn emit_msg_span(
239-
err: &mut DiagnosticBuilder<'_>,
240-
prefix: &str,
241-
description: String,
242-
span: Option<Span>,
243-
suffix: &str,
244-
) {
245-
let message = format!("{}{}{}", prefix, description, suffix);
246-
247-
if let Some(span) = span {
248-
err.span_note(span, &message);
249-
} else {
250-
err.note(&message);
190+
fn msg_span_from_early_bound_and_free_regions(
191+
tcx: TyCtxt<'tcx>,
192+
region: ty::Region<'tcx>,
193+
) -> (String, Option<Span>) {
194+
let cm = tcx.sess.source_map();
195+
196+
let scope = region.free_region_binding_scope(tcx);
197+
let node = tcx.hir().as_local_hir_id(scope).unwrap_or(hir::DUMMY_HIR_ID);
198+
let tag = match tcx.hir().find(node) {
199+
Some(Node::Block(_)) | Some(Node::Expr(_)) => "body",
200+
Some(Node::Item(it)) => item_scope_tag(&it),
201+
Some(Node::TraitItem(it)) => trait_item_scope_tag(&it),
202+
Some(Node::ImplItem(it)) => impl_item_scope_tag(&it),
203+
_ => unreachable!(),
204+
};
205+
let (prefix, span) = match *region {
206+
ty::ReEarlyBound(ref br) => {
207+
let mut sp = cm.def_span(tcx.hir().span(node));
208+
if let Some(param) =
209+
tcx.hir().get_generics(scope).and_then(|generics| generics.get_named(br.name))
210+
{
211+
sp = param.span;
212+
}
213+
(format!("the lifetime `{}` as defined on", br.name), sp)
251214
}
252-
}
253-
254-
fn item_scope_tag(item: &hir::Item<'_>) -> &'static str {
255-
match item.kind {
256-
hir::ItemKind::Impl(..) => "impl",
257-
hir::ItemKind::Struct(..) => "struct",
258-
hir::ItemKind::Union(..) => "union",
259-
hir::ItemKind::Enum(..) => "enum",
260-
hir::ItemKind::Trait(..) => "trait",
261-
hir::ItemKind::Fn(..) => "function body",
262-
_ => "item",
215+
ty::ReFree(ty::FreeRegion { bound_region: ty::BoundRegion::BrNamed(_, name), .. }) => {
216+
let mut sp = cm.def_span(tcx.hir().span(node));
217+
if let Some(param) =
218+
tcx.hir().get_generics(scope).and_then(|generics| generics.get_named(name))
219+
{
220+
sp = param.span;
221+
}
222+
(format!("the lifetime `{}` as defined on", name), sp)
263223
}
224+
ty::ReFree(ref fr) => match fr.bound_region {
225+
ty::BrAnon(idx) => {
226+
(format!("the anonymous lifetime #{} defined on", idx + 1), tcx.hir().span(node))
227+
}
228+
_ => (
229+
format!("the lifetime `{}` as defined on", region),
230+
cm.def_span(tcx.hir().span(node)),
231+
),
232+
},
233+
_ => bug!(),
234+
};
235+
let (msg, opt_span) = explain_span(tcx, tag, span);
236+
(format!("{} {}", prefix, msg), opt_span)
237+
}
238+
239+
fn emit_msg_span(
240+
err: &mut DiagnosticBuilder<'_>,
241+
prefix: &str,
242+
description: String,
243+
span: Option<Span>,
244+
suffix: &str,
245+
) {
246+
let message = format!("{}{}{}", prefix, description, suffix);
247+
248+
if let Some(span) = span {
249+
err.span_note(span, &message);
250+
} else {
251+
err.note(&message);
264252
}
253+
}
265254

266-
fn trait_item_scope_tag(item: &hir::TraitItem<'_>) -> &'static str {
267-
match item.kind {
268-
hir::TraitItemKind::Method(..) => "method body",
269-
hir::TraitItemKind::Const(..) | hir::TraitItemKind::Type(..) => "associated item",
270-
}
255+
fn item_scope_tag(item: &hir::Item<'_>) -> &'static str {
256+
match item.kind {
257+
hir::ItemKind::Impl(..) => "impl",
258+
hir::ItemKind::Struct(..) => "struct",
259+
hir::ItemKind::Union(..) => "union",
260+
hir::ItemKind::Enum(..) => "enum",
261+
hir::ItemKind::Trait(..) => "trait",
262+
hir::ItemKind::Fn(..) => "function body",
263+
_ => "item",
271264
}
265+
}
272266

273-
fn impl_item_scope_tag(item: &hir::ImplItem<'_>) -> &'static str {
274-
match item.kind {
275-
hir::ImplItemKind::Method(..) => "method body",
276-
hir::ImplItemKind::Const(..)
277-
| hir::ImplItemKind::OpaqueTy(..)
278-
| hir::ImplItemKind::TyAlias(..) => "associated item",
279-
}
267+
fn trait_item_scope_tag(item: &hir::TraitItem<'_>) -> &'static str {
268+
match item.kind {
269+
hir::TraitItemKind::Method(..) => "method body",
270+
hir::TraitItemKind::Const(..) | hir::TraitItemKind::Type(..) => "associated item",
280271
}
272+
}
281273

282-
fn explain_span(self, heading: &str, span: Span) -> (String, Option<Span>) {
283-
let lo = self.sess.source_map().lookup_char_pos(span.lo());
284-
(format!("the {} at {}:{}", heading, lo.line, lo.col.to_usize() + 1), Some(span))
274+
fn impl_item_scope_tag(item: &hir::ImplItem<'_>) -> &'static str {
275+
match item.kind {
276+
hir::ImplItemKind::Method(..) => "method body",
277+
hir::ImplItemKind::Const(..)
278+
| hir::ImplItemKind::OpaqueTy(..)
279+
| hir::ImplItemKind::TyAlias(..) => "associated item",
285280
}
286281
}
287282

283+
fn explain_span(tcx: TyCtxt<'tcx>, heading: &str, span: Span) -> (String, Option<Span>) {
284+
let lo = tcx.sess.source_map().lookup_char_pos(span.lo());
285+
(format!("the {} at {}:{}", heading, lo.line, lo.col.to_usize() + 1), Some(span))
286+
}
287+
288288
impl<'a, 'tcx> InferCtxt<'a, 'tcx> {
289289
pub fn report_region_errors(
290290
&self,

src/librustc/infer/error_reporting/nice_region_error/static_impl_trait.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
//! Error Reporting for static impl Traits.
22
3+
use crate::infer::error_reporting::msg_span_from_free_region;
34
use crate::infer::error_reporting::nice_region_error::NiceRegionError;
45
use crate::infer::lexical_region_resolve::RegionResolutionError;
56
use crate::ty::{BoundRegion, FreeRegion, RegionKind};
@@ -32,7 +33,7 @@ impl<'a, 'tcx> NiceRegionError<'a, 'tcx> {
3233
);
3334
err.span_label(sup_origin.span(), "...but this borrow...");
3435

35-
let (lifetime, lt_sp_opt) = self.tcx().msg_span_from_free_region(sup_r);
36+
let (lifetime, lt_sp_opt) = msg_span_from_free_region(self.tcx(), sup_r);
3637
if let Some(lifetime_sp) = lt_sp_opt {
3738
err.span_note(lifetime_sp, &format!("...can't outlive {}", lifetime));
3839
}

0 commit comments

Comments
 (0)