ty::pretty: document "dummy Span extern crate" special-case in try_print_visible_def_path_recur
.
This commit is contained in:
parent
9e8356c6ad
commit
152e40377a
1 changed files with 11 additions and 10 deletions
|
@ -350,18 +350,19 @@ pub trait PrettyPrinter<'tcx>:
|
|||
match self.tcx().extern_crate(def_id) {
|
||||
Some(&ExternCrate { src, dependency_of, span, .. }) => match (src, dependency_of) {
|
||||
(ExternCrateSource::Extern(def_id), LOCAL_CRATE) => {
|
||||
debug!("try_print_visible_def_path: def_id={:?}", def_id);
|
||||
return Ok((
|
||||
if !span.is_dummy() {
|
||||
self.print_def_path(def_id, &[])?
|
||||
} else {
|
||||
self.path_crate(cnum)?
|
||||
},
|
||||
true,
|
||||
));
|
||||
// NOTE(eddyb) the only reason `span` might be dummy,
|
||||
// that we're aware of, is that it's the `std`/`core`
|
||||
// `extern crate` injected by default.
|
||||
// FIXME(eddyb) find something better to key this on,
|
||||
// or avoid ending up with `ExternCrateSource::Extern`,
|
||||
// for the injected `std`/`core`.
|
||||
if span.is_dummy() {
|
||||
return Ok((self.path_crate(cnum)?, true));
|
||||
}
|
||||
|
||||
return Ok((self.print_def_path(def_id, &[])?, true));
|
||||
}
|
||||
(ExternCrateSource::Path, LOCAL_CRATE) => {
|
||||
debug!("try_print_visible_def_path: def_id={:?}", def_id);
|
||||
return Ok((self.path_crate(cnum)?, true));
|
||||
}
|
||||
_ => {}
|
||||
|
|
Loading…
Reference in a new issue