remove type_ascription_path_suggestions in parser
This commit is contained in:
parent
9569a0129c
commit
f65b875e83
@ -492,24 +492,6 @@ impl<'a: 'ast, 'ast, 'tcx> LateResolutionVisitor<'a, '_, 'ast, 'tcx> {
|
|||||||
.filter(|(_, enum_ty_path)| !enum_ty_path.starts_with("std::prelude::"))
|
.filter(|(_, enum_ty_path)| !enum_ty_path.starts_with("std::prelude::"))
|
||||||
.collect();
|
.collect();
|
||||||
if !enum_candidates.is_empty() {
|
if !enum_candidates.is_empty() {
|
||||||
if let (PathSource::Type, Some(span)) =
|
|
||||||
(source, self.diagnostic_metadata.current_type_ascription.last())
|
|
||||||
{
|
|
||||||
if self
|
|
||||||
.r
|
|
||||||
.tcx
|
|
||||||
.sess
|
|
||||||
.parse_sess
|
|
||||||
.type_ascription_path_suggestions
|
|
||||||
.borrow()
|
|
||||||
.contains(span)
|
|
||||||
{
|
|
||||||
// Already reported this issue on the lhs of the type ascription.
|
|
||||||
err.downgrade_to_delayed_bug();
|
|
||||||
return (true, candidates);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
enum_candidates.sort();
|
enum_candidates.sort();
|
||||||
|
|
||||||
// Contextualize for E0412 "cannot find type", but don't belabor the point
|
// Contextualize for E0412 "cannot find type", but don't belabor the point
|
||||||
@ -1391,26 +1373,6 @@ impl<'a: 'ast, 'ast, 'tcx> LateResolutionVisitor<'a, '_, 'ast, 'tcx> {
|
|||||||
Res::Def(DefKind::Enum, def_id),
|
Res::Def(DefKind::Enum, def_id),
|
||||||
PathSource::TupleStruct(..) | PathSource::Expr(..),
|
PathSource::TupleStruct(..) | PathSource::Expr(..),
|
||||||
) => {
|
) => {
|
||||||
if self
|
|
||||||
.diagnostic_metadata
|
|
||||||
.current_type_ascription
|
|
||||||
.last()
|
|
||||||
.map(|sp| {
|
|
||||||
self.r
|
|
||||||
.tcx
|
|
||||||
.sess
|
|
||||||
.parse_sess
|
|
||||||
.type_ascription_path_suggestions
|
|
||||||
.borrow()
|
|
||||||
.contains(&sp)
|
|
||||||
})
|
|
||||||
.unwrap_or(false)
|
|
||||||
{
|
|
||||||
err.downgrade_to_delayed_bug();
|
|
||||||
// We already suggested changing `:` into `::` during parsing.
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
self.suggest_using_enum_variant(err, source, def_id, span);
|
self.suggest_using_enum_variant(err, source, def_id, span);
|
||||||
}
|
}
|
||||||
(Res::Def(DefKind::Struct, def_id), source) if ns == ValueNS => {
|
(Res::Def(DefKind::Struct, def_id), source) if ns == ValueNS => {
|
||||||
|
@ -214,8 +214,6 @@ pub struct ParseSess {
|
|||||||
pub env_depinfo: Lock<FxHashSet<(Symbol, Option<Symbol>)>>,
|
pub env_depinfo: Lock<FxHashSet<(Symbol, Option<Symbol>)>>,
|
||||||
/// File paths accessed during the build.
|
/// File paths accessed during the build.
|
||||||
pub file_depinfo: Lock<FxHashSet<Symbol>>,
|
pub file_depinfo: Lock<FxHashSet<Symbol>>,
|
||||||
/// All the type ascriptions expressions that have had a suggestion for likely path typo.
|
|
||||||
pub type_ascription_path_suggestions: Lock<FxHashSet<Span>>,
|
|
||||||
/// Whether cfg(version) should treat the current release as incomplete
|
/// Whether cfg(version) should treat the current release as incomplete
|
||||||
pub assume_incomplete_release: bool,
|
pub assume_incomplete_release: bool,
|
||||||
/// Spans passed to `proc_macro::quote_span`. Each span has a numerical
|
/// Spans passed to `proc_macro::quote_span`. Each span has a numerical
|
||||||
@ -258,7 +256,6 @@ impl ParseSess {
|
|||||||
reached_eof: AtomicBool::new(false),
|
reached_eof: AtomicBool::new(false),
|
||||||
env_depinfo: Default::default(),
|
env_depinfo: Default::default(),
|
||||||
file_depinfo: Default::default(),
|
file_depinfo: Default::default(),
|
||||||
type_ascription_path_suggestions: Default::default(),
|
|
||||||
assume_incomplete_release: false,
|
assume_incomplete_release: false,
|
||||||
proc_macro_quoted_spans: Default::default(),
|
proc_macro_quoted_spans: Default::default(),
|
||||||
attr_id_generator: AttrIdGenerator::new(),
|
attr_id_generator: AttrIdGenerator::new(),
|
||||||
|
Loading…
x
Reference in New Issue
Block a user