X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;ds=sidebyside;f=compiler%2Frustc_ast%2Fsrc%2Fast.rs;h=1e2c4f31d3df34a21a5076774b3d69921aa7791d;hb=7907385999b4a83d37ed31d334f3ed9ca02983a1;hp=714f9383bb2100fee13f16ce64a0957f3300e29c;hpb=edba28277038f24ee80b88b66e054ec33facefa4;p=rust.git diff --git a/compiler/rustc_ast/src/ast.rs b/compiler/rustc_ast/src/ast.rs index 714f9383bb2..1e2c4f31d3d 100644 --- a/compiler/rustc_ast/src/ast.rs +++ b/compiler/rustc_ast/src/ast.rs @@ -23,7 +23,7 @@ pub use UnsafeSource::*; use crate::ptr::P; -use crate::token::{self, CommentKind, DelimToken, Token}; +use crate::token::{self, CommentKind, Delimiter, Token}; use crate::tokenstream::{DelimSpan, LazyTokenStream, TokenStream, TokenTree}; use rustc_data_structures::stable_hasher::{HashStable, StableHasher}; @@ -107,11 +107,11 @@ fn eq(&self, symbol: &Symbol) -> bool { } } -impl HashStable for Path { +impl HashStable for Path { fn hash_stable(&self, hcx: &mut CTX, hasher: &mut StableHasher) { self.segments.len().hash_stable(hcx, hasher); for segment in &self.segments { - segment.ident.name.hash_stable(hcx, hasher); + segment.ident.hash_stable(hcx, hasher); } } } @@ -397,6 +397,7 @@ pub struct GenericParam { pub bounds: GenericBounds, pub is_placeholder: bool, pub kind: GenericParamKind, + pub colon_span: Option, } impl GenericParam { @@ -572,7 +573,7 @@ pub struct Block { pub span: Span, pub tokens: Option, /// The following *isn't* a parse error, but will cause multiple errors in following stages. - /// ``` + /// ```compile_fail /// let x = { /// foo: var /// }; @@ -1542,10 +1543,10 @@ pub enum MacArgs { } impl MacArgs { - pub fn delim(&self) -> DelimToken { + pub fn delim(&self) -> Option { match self { - MacArgs::Delimited(_, delim, _) => delim.to_token(), - MacArgs::Empty | MacArgs::Eq(..) => token::NoDelim, + MacArgs::Delimited(_, delim, _) => Some(delim.to_token()), + MacArgs::Empty | MacArgs::Eq(..) => None, } } @@ -1582,20 +1583,20 @@ pub enum MacDelimiter { } impl MacDelimiter { - pub fn to_token(self) -> DelimToken { + pub fn to_token(self) -> Delimiter { match self { - MacDelimiter::Parenthesis => DelimToken::Paren, - MacDelimiter::Bracket => DelimToken::Bracket, - MacDelimiter::Brace => DelimToken::Brace, + MacDelimiter::Parenthesis => Delimiter::Parenthesis, + MacDelimiter::Bracket => Delimiter::Bracket, + MacDelimiter::Brace => Delimiter::Brace, } } - pub fn from_token(delim: DelimToken) -> Option { + pub fn from_token(delim: Delimiter) -> Option { match delim { - token::Paren => Some(MacDelimiter::Parenthesis), - token::Bracket => Some(MacDelimiter::Bracket), - token::Brace => Some(MacDelimiter::Brace), - token::NoDelim => None, + Delimiter::Parenthesis => Some(MacDelimiter::Parenthesis), + Delimiter::Bracket => Some(MacDelimiter::Bracket), + Delimiter::Brace => Some(MacDelimiter::Brace), + Delimiter::Invisible => None, } } }