Skip to content

Commit 3667e62

Browse files
committed
move PResult to librustc_errors
1 parent 9d6768a commit 3667e62

File tree

21 files changed

+52
-44
lines changed

21 files changed

+52
-44
lines changed

src/librustc_driver/lib.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ use rustc::ty::TyCtxt;
4242
use rustc::util::common::{set_time_depth, time, print_time_passes_entry, ErrorReported};
4343
use rustc_metadata::locator;
4444
use rustc_codegen_utils::codegen_backend::CodegenBackend;
45+
use errors::PResult;
4546
use rustc_interface::interface;
4647
use rustc_interface::util::get_codegen_sysroot;
4748
use rustc_data_structures::sync::SeqCst;
@@ -64,7 +65,7 @@ use std::time::Instant;
6465
use syntax::ast;
6566
use syntax::source_map::FileLoader;
6667
use syntax::feature_gate::{GatedCfg, UnstableFeatures};
67-
use syntax::parse::{self, PResult};
68+
use syntax::parse;
6869
use syntax::symbol::sym;
6970
use syntax_pos::{DUMMY_SP, FileName};
7071

src/librustc_errors/lib.rs

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,8 @@ use Level::*;
1515

1616
use emitter::{Emitter, EmitterWriter, is_case_difference};
1717
use registry::Registry;
18-
18+
#[cfg(target_arch = "x86_64")]
19+
use rustc_data_structures::static_assert_size;
1920
use rustc_data_structures::sync::{self, Lrc, Lock};
2021
use rustc_data_structures::fx::{FxHashSet, FxIndexMap};
2122
use rustc_data_structures::stable_hasher::StableHasher;
@@ -48,6 +49,13 @@ use syntax_pos::{
4849
SpanSnippetError,
4950
};
5051

52+
pub type PResult<'a, T> = Result<T, DiagnosticBuilder<'a>>;
53+
54+
// `PResult` is used a lot. Make sure it doesn't unintentionally get bigger.
55+
// (See also the comment on `DiagnosticBuilderInner`.)
56+
#[cfg(target_arch = "x86_64")]
57+
static_assert_size!(PResult<'_, bool>, 16);
58+
5159
/// Indicates the confidence in the correctness of a suggestion.
5260
///
5361
/// All suggestions are marked with an `Applicability`. Tools use the applicability of a suggestion

src/librustc_interface/passes.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ use rustc_codegen_utils::codegen_backend::CodegenBackend;
2222
use rustc_codegen_utils::link::filename_for_metadata;
2323
use rustc_data_structures::{box_region_allow_access, declare_box_region_type, parallel};
2424
use rustc_data_structures::sync::{Lrc, ParallelIterator, par_iter};
25+
use rustc_errors::PResult;
2526
use rustc_incremental;
2627
use rustc_metadata::cstore;
2728
use rustc_mir as mir;
@@ -36,7 +37,7 @@ use syntax::{self, ast, visit};
3637
use syntax::early_buffered_lints::BufferedEarlyLint;
3738
use syntax_expand::base::{NamedSyntaxExtension, ExtCtxt};
3839
use syntax::mut_visit::MutVisitor;
39-
use syntax::parse::{self, PResult};
40+
use syntax::parse;
4041
use syntax::util::node_count::NodeCounter;
4142
use syntax::symbol::Symbol;
4243
use syntax_pos::FileName;

src/libsyntax/attr/mod.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ use crate::mut_visit::visit_clobber;
1616
use crate::source_map::{BytePos, Spanned};
1717
use crate::parse::lexer::comments::doc_comment_style;
1818
use crate::parse;
19-
use crate::parse::PResult;
2019
use crate::token::{self, Token};
2120
use crate::ptr::P;
2221
use crate::sess::ParseSess;
@@ -25,6 +24,8 @@ use crate::ThinVec;
2524
use crate::tokenstream::{DelimSpan, TokenStream, TokenTree, TreeAndJoint};
2625
use crate::GLOBALS;
2726

27+
use errors::PResult;
28+
2829
use log::debug;
2930
use syntax_pos::Span;
3031

src/libsyntax/parse/lexer/tokentrees.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,11 @@ use syntax_pos::Span;
44
use super::{StringReader, UnmatchedBrace};
55

66
use crate::print::pprust::token_to_string;
7-
use crate::parse::PResult;
87
use crate::token::{self, Token};
98
use crate::tokenstream::{DelimSpan, IsJoint::{self, *}, TokenStream, TokenTree, TreeAndJoint};
109

10+
use errors::PResult;
11+
1112
impl<'a> StringReader<'a> {
1213
crate fn into_token_trees(self) -> (PResult<'a, TokenStream>, Vec<UnmatchedBrace>) {
1314
let mut tt_reader = TokenTreesReader {

src/libsyntax/parse/mod.rs

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,7 @@ use crate::tokenstream::{self, TokenStream, TokenTree};
77
use crate::print::pprust;
88
use crate::sess::ParseSess;
99

10-
use errors::{FatalError, Level, Diagnostic, DiagnosticBuilder};
11-
#[cfg(target_arch = "x86_64")]
12-
use rustc_data_structures::static_assert_size;
10+
use errors::{PResult, FatalError, Level, Diagnostic};
1311
use rustc_data_structures::sync::Lrc;
1412
use syntax_pos::{Span, SourceFile, FileName};
1513

@@ -29,13 +27,6 @@ pub mod lexer;
2927
crate mod classify;
3028
crate mod literal;
3129

32-
pub type PResult<'a, T> = Result<T, DiagnosticBuilder<'a>>;
33-
34-
// `PResult` is used a lot. Make sure it doesn't unintentionally get bigger.
35-
// (See also the comment on `DiagnosticBuilderInner`.)
36-
#[cfg(target_arch = "x86_64")]
37-
static_assert_size!(PResult<'_, bool>, 16);
38-
3930
#[derive(Clone)]
4031
pub struct Directory<'a> {
4132
pub path: Cow<'a, Path>,

src/libsyntax/parse/parser/attr.rs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
1-
use super::{SeqSep, PResult, Parser, TokenType, PathStyle};
1+
use super::{SeqSep, Parser, TokenType, PathStyle};
22
use crate::attr;
33
use crate::ast;
44
use crate::token::{self, Nonterminal, DelimToken};
55
use crate::tokenstream::{TokenStream, TokenTree};
66
use crate::source_map::Span;
77

8+
use errors::PResult;
9+
810
use log::debug;
911

1012
#[derive(Debug)]

src/libsyntax/parse/parser/diagnostics.rs

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,4 @@
1-
use super::{
2-
BlockMode, PathStyle, SemiColonMode, TokenType, TokenExpectType,
3-
SeqSep, PResult, Parser
4-
};
1+
use super::{BlockMode, PathStyle, SemiColonMode, TokenType, TokenExpectType, SeqSep, Parser};
52
use crate::ast::{
63
self, Param, BinOpKind, BindingMode, BlockCheckMode, Expr, ExprKind, Ident, Item, ItemKind,
74
Mutability, Pat, PatKind, PathSegment, QSelf, Ty, TyKind,
@@ -12,7 +9,8 @@ use crate::ptr::P;
129
use crate::symbol::{kw, sym};
1310
use crate::ThinVec;
1411
use crate::util::parser::AssocOp;
15-
use errors::{Applicability, DiagnosticBuilder, DiagnosticId, pluralize};
12+
13+
use errors::{PResult, Applicability, DiagnosticBuilder, DiagnosticId, pluralize};
1614
use rustc_data_structures::fx::FxHashSet;
1715
use syntax_pos::{Span, DUMMY_SP, MultiSpan, SpanSnippetError};
1816
use log::{debug, trace};

src/libsyntax/parse/parser/expr.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use super::{Parser, PResult, Restrictions, PrevTokenKind, TokenType, PathStyle, BlockMode};
1+
use super::{Parser, Restrictions, PrevTokenKind, TokenType, PathStyle, BlockMode};
22
use super::{SemiColonMode, SeqSep, TokenExpectType};
33
use super::pat::{GateOr, PARAM_EXPECTED};
44
use super::diagnostics::Error;
@@ -18,7 +18,7 @@ use crate::ptr::P;
1818
use crate::source_map::{self, Span};
1919
use crate::util::parser::{AssocOp, Fixity, prec_let_scrutinee_needs_par};
2020

21-
use errors::Applicability;
21+
use errors::{PResult, Applicability};
2222
use syntax_pos::symbol::{kw, sym};
2323
use syntax_pos::Symbol;
2424
use std::mem;

src/libsyntax/parse/parser/generics.rs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
1-
use super::{Parser, PResult};
1+
use super::Parser;
22

33
use crate::ast::{self, WhereClause, GenericParam, GenericParamKind, GenericBounds, Attribute};
44
use crate::token;
55
use crate::source_map::DUMMY_SP;
66

77
use syntax_pos::symbol::{kw, sym};
88

9+
use errors::PResult;
10+
911
impl<'a> Parser<'a> {
1012
/// Parses bounds of a lifetime parameter `BOUND + BOUND + BOUND`, possibly with trailing `+`.
1113
///

src/libsyntax/parse/parser/item.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use super::{Parser, PResult, PathStyle};
1+
use super::{Parser, PathStyle};
22
use super::diagnostics::{Error, dummy_arg, ConsumeClosingDelim};
33

44
use crate::maybe_whole;
@@ -17,7 +17,7 @@ use crate::ThinVec;
1717

1818
use log::debug;
1919
use std::mem;
20-
use errors::{Applicability, DiagnosticBuilder, DiagnosticId, StashKey};
20+
use errors::{PResult, Applicability, DiagnosticBuilder, DiagnosticId, StashKey};
2121
use syntax_pos::BytePos;
2222

2323
/// Whether the type alias or associated type is a concrete type or an opaque type.

src/libsyntax/parse/parser/mod.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ use crate::ast::{
1515
self, Abi, DUMMY_NODE_ID, AttrStyle, Attribute, CrateSugar, Ident,
1616
IsAsync, MacDelimiter, Mutability, StrStyle, Visibility, VisibilityKind, Unsafety,
1717
};
18-
use crate::parse::{PResult, Directory, DirectoryOwnership};
18+
use crate::parse::{Directory, DirectoryOwnership};
1919
use crate::parse::lexer::UnmatchedBrace;
2020
use crate::parse::lexer::comments::{doc_comment_style, strip_doc_comment_decoration};
2121
use crate::token::{self, Token, TokenKind, DelimToken};
@@ -27,7 +27,7 @@ use crate::symbol::{kw, sym, Symbol};
2727
use crate::tokenstream::{self, DelimSpan, TokenTree, TokenStream, TreeAndJoint};
2828
use crate::ThinVec;
2929

30-
use errors::{Applicability, DiagnosticBuilder, DiagnosticId, FatalError};
30+
use errors::{PResult, Applicability, DiagnosticBuilder, DiagnosticId, FatalError};
3131
use syntax_pos::{Span, BytePos, DUMMY_SP, FileName};
3232
use log::debug;
3333

src/libsyntax/parse/parser/module.rs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use super::{Parser, PResult};
1+
use super::Parser;
22
use super::item::ItemInfo;
33
use super::diagnostics::Error;
44

@@ -9,6 +9,8 @@ use crate::token::{self, TokenKind};
99
use crate::source_map::{SourceMap, Span, DUMMY_SP, FileName};
1010
use crate::symbol::sym;
1111

12+
use errors::PResult;
13+
1214
use std::path::{self, Path, PathBuf};
1315

1416
/// Information about the path to a module.

src/libsyntax/parse/parser/pat.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use super::{Parser, PResult, PathStyle};
1+
use super::{Parser, PathStyle};
22

33
use crate::{maybe_recover_from_interpolated_ty_qpath, maybe_whole};
44
use crate::ptr::P;
@@ -10,7 +10,7 @@ use crate::print::pprust;
1010
use crate::source_map::{respan, Span, Spanned};
1111
use crate::ThinVec;
1212
use syntax_pos::symbol::{kw, sym};
13-
use errors::{Applicability, DiagnosticBuilder};
13+
use errors::{PResult, Applicability, DiagnosticBuilder};
1414

1515
type Expected = Option<&'static str>;
1616

src/libsyntax/parse/parser/path.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use super::{Parser, PResult, TokenType};
1+
use super::{Parser, TokenType};
22

33
use crate::{maybe_whole, ThinVec};
44
use crate::ast::{self, QSelf, Path, PathSegment, Ident, ParenthesizedArgs, AngleBracketedArgs};
@@ -9,7 +9,7 @@ use syntax_pos::symbol::{kw, sym};
99

1010
use std::mem;
1111
use log::debug;
12-
use errors::{Applicability, pluralize};
12+
use errors::{PResult, Applicability, pluralize};
1313

1414
/// Specifies how to parse a path.
1515
#[derive(Copy, Clone, PartialEq)]

src/libsyntax/parse/parser/stmt.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use super::{Parser, PResult, Restrictions, PrevTokenKind, SemiColonMode, BlockMode};
1+
use super::{Parser, Restrictions, PrevTokenKind, SemiColonMode, BlockMode};
22
use super::expr::LhsExpr;
33
use super::path::PathStyle;
44
use super::pat::GateOr;
@@ -14,7 +14,7 @@ use crate::source_map::{respan, Span};
1414
use crate::symbol::{kw, sym};
1515

1616
use std::mem;
17-
use errors::Applicability;
17+
use errors::{PResult, Applicability};
1818

1919
impl<'a> Parser<'a> {
2020
/// Parses a statement. This stops just before trailing semicolons on everything but items.

src/libsyntax/parse/parser/ty.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use super::{Parser, PResult, PathStyle, PrevTokenKind, TokenType};
1+
use super::{Parser, PathStyle, PrevTokenKind, TokenType};
22
use super::item::ParamCfg;
33

44
use crate::{maybe_whole, maybe_recover_from_interpolated_ty_qpath};
@@ -10,7 +10,7 @@ use crate::token::{self, Token};
1010
use crate::source_map::Span;
1111
use crate::symbol::{kw};
1212

13-
use errors::{Applicability, pluralize};
13+
use errors::{PResult, Applicability, pluralize};
1414

1515
/// Returns `true` if `IDENT t` can start a type -- `IDENT::a::b`, `IDENT<u8, u8>`,
1616
/// `IDENT<<u8 as Trait>::AssocTy>`.

src/libsyntax/tests.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
use crate::ast;
2-
use crate::parse::{PResult, source_file_to_stream};
2+
use crate::parse::source_file_to_stream;
33
use crate::parse::new_parser_from_source_str;
44
use crate::parse::parser::Parser;
55
use crate::sess::ParseSess;
@@ -8,7 +8,7 @@ use crate::tokenstream::TokenStream;
88
use crate::with_default_globals;
99

1010
use errors::emitter::EmitterWriter;
11-
use errors::Handler;
11+
use errors::{PResult, Handler};
1212
use rustc_data_structures::sync::Lrc;
1313
use syntax_pos::{BytePos, Span, MultiSpan};
1414

src/libsyntax_expand/expand.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ use syntax::configure;
1212
use syntax::config::StripUnconfigured;
1313
use syntax::feature_gate::{self, Features, GateIssue, is_builtin_attr, emit_feature_err};
1414
use syntax::mut_visit::*;
15-
use syntax::parse::{DirectoryOwnership, PResult};
15+
use syntax::parse::DirectoryOwnership;
1616
use syntax::parse::parser::Parser;
1717
use syntax::print::pprust;
1818
use syntax::ptr::P;
@@ -23,7 +23,7 @@ use syntax::tokenstream::{TokenStream, TokenTree};
2323
use syntax::visit::{self, Visitor};
2424
use syntax::util::map_in_place::MapInPlace;
2525

26-
use errors::{Applicability, FatalError};
26+
use errors::{PResult, Applicability, FatalError};
2727
use smallvec::{smallvec, SmallVec};
2828
use syntax_pos::{Span, DUMMY_SP, FileName};
2929

src/libsyntax_expand/mbe/macro_parser.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -77,15 +77,15 @@ use TokenTreeOrTokenTreeSlice::*;
7777
use crate::mbe::{self, TokenTree};
7878

7979
use syntax::ast::{Ident, Name};
80-
use syntax::parse::{Directory, PResult};
80+
use syntax::parse::Directory;
8181
use syntax::parse::parser::{Parser, PathStyle};
8282
use syntax::print::pprust;
8383
use syntax::sess::ParseSess;
8484
use syntax::symbol::{kw, sym, Symbol};
8585
use syntax::token::{self, DocComment, Nonterminal, Token};
8686
use syntax::tokenstream::{DelimSpan, TokenStream};
8787

88-
use errors::FatalError;
88+
use errors::{PResult, FatalError};
8989
use smallvec::{smallvec, SmallVec};
9090
use syntax_pos::Span;
9191

src/test/ui-fulldeps/ast_stmt_expr_attr.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,15 @@
66
#![feature(rustc_private)]
77

88
extern crate syntax;
9+
extern crate rustc_errors;
910

11+
use rustc_errors::PResult;
1012
use syntax::ast::*;
1113
use syntax::attr::*;
1214
use syntax::ast;
1315
use syntax::sess::ParseSess;
1416
use syntax::source_map::{FilePathMapping, FileName};
1517
use syntax::parse;
16-
use syntax::parse::PResult;
1718
use syntax::parse::new_parser_from_source_str;
1819
use syntax::parse::parser::Parser;
1920
use syntax::token;

0 commit comments

Comments
 (0)