Skip to main content

Module diagnostics

Module diagnostics 

Source

Re-exportsΒ§

use std::borrow::Cow; πŸ”’
use rustc_ast::token; πŸ”’
use rustc_ast::token::Token; πŸ”’
use rustc_ast::tokenstream::TokenStream; πŸ”’
use rustc_attr_ir::diagnostic::CustomDiagnostic; πŸ”’
use rustc_attr_ir::diagnostic::Directive; πŸ”’
use rustc_attr_ir::diagnostic::FormatArgs; πŸ”’
use rustc_data_structures::fx::FxHashSet; πŸ”’
use rustc_errors::Applicability; πŸ”’
use rustc_errors::Diag; πŸ”’
use rustc_errors::DiagCtxtHandle; πŸ”’
use rustc_errors::DiagMessage; πŸ”’
use rustc_errors::pluralize; πŸ”’
use rustc_macros::Subdiagnostic; πŸ”’
use rustc_parse::parser::Parser; πŸ”’
use rustc_parse::parser::Recovery; πŸ”’
use rustc_parse::parser::token_descr; πŸ”’
use rustc_session::parse::ParseSess; πŸ”’
use rustc_span::source_map::SourceMap; πŸ”’
use rustc_span::DUMMY_SP; πŸ”’
use rustc_span::ErrorGuaranteed; πŸ”’
use rustc_span::Ident; πŸ”’
use rustc_span::Span; πŸ”’
use tracing::debug; πŸ”’
use super::macro_rules::MacroRule; πŸ”’
use super::macro_rules::NoopTracker; πŸ”’
use super::macro_rules::parser_from_cx; πŸ”’
use crate::expand::AstFragmentKind; πŸ”’
use crate::expand::parse_ast_fragment; πŸ”’
use crate::mbe::macro_parser::MatcherLoc; πŸ”’
use crate::mbe::macro_parser::NamedParseResult; πŸ”’
use crate::mbe::macro_parser::TtParser; πŸ”’
use crate::mbe::macro_rules::Tracker; πŸ”’
use crate::mbe::macro_rules::WhichMatcher; πŸ”’
use crate::mbe::macro_rules::try_match_macro; πŸ”’
use crate::mbe::macro_rules::try_match_macro_attr; πŸ”’
use crate::mbe::macro_rules::try_match_macro_derive; πŸ”’
use crate::mbe::macro_parser::ParseResult::*; πŸ”’

StructsΒ§

BestFailure πŸ”’
CollectTrackerAndEmitter πŸ”’
The tracker used for the slow error path that collects useful info for diagnostics.
SuccessfulMatch πŸ”’

EnumsΒ§

ExplainDocComment πŸ”’
FailedMacro πŸ”’

FunctionsΒ§

annotate_doc_comment πŸ”’
annotate_err_with_kind πŸ”’
emit_frag_parse_err πŸ”’
failed_to_match_macro πŸ”’
parse_failure_msg πŸ”’
Generates an appropriate parsing failure message. For EOF, this is β€œunexpected end…”. For other tokens, this is β€œunexpected token…”.