diff options
author | bors[bot] <26634292+bors[bot]@users.noreply.github.com> | 2020-07-31 13:42:31 +0100 |
---|---|---|
committer | GitHub <[email protected]> | 2020-07-31 13:42:31 +0100 |
commit | 847a50e74e3e45ea84f38efb23788fa5a61566eb (patch) | |
tree | 0988b331b556d8d6a0e58e9c2b2a513e0ceb8d59 /crates | |
parent | eccb5d52d3c4b82b6b61e231aa137b4aeb8c94ec (diff) | |
parent | a6527ed92cb7a1156b8a118f5790d8c5fd69ab41 (diff) |
Merge #5620
5620: Finalize Types grammar r=matklad a=matklad
Note that `for` type is rust-analyzer's own invention.
Both the reference and syn allow `for` only for fnptr types, and we
allow them everywhere. This needs to be checked with respect to type
bounds grammar...
bors r+
🤖
Co-authored-by: Aleksey Kladov <[email protected]>
Diffstat (limited to 'crates')
-rw-r--r-- | crates/ra_hir_def/src/type_ref.rs | 1 | ||||
-rw-r--r-- | crates/ra_syntax/src/ast/generated/nodes.rs | 4 |
2 files changed, 3 insertions, 2 deletions
diff --git a/crates/ra_hir_def/src/type_ref.rs b/crates/ra_hir_def/src/type_ref.rs index 524c033b8..fe6619d9f 100644 --- a/crates/ra_hir_def/src/type_ref.rs +++ b/crates/ra_hir_def/src/type_ref.rs | |||
@@ -1,6 +1,5 @@ | |||
1 | //! HIR for references to types. Paths in these are not yet resolved. They can | 1 | //! HIR for references to types. Paths in these are not yet resolved. They can |
2 | //! be directly created from an ast::TypeRef, without further queries. | 2 | //! be directly created from an ast::TypeRef, without further queries. |
3 | |||
4 | use ra_syntax::ast::{self}; | 3 | use ra_syntax::ast::{self}; |
5 | 4 | ||
6 | use crate::{body::LowerCtx, path::Path}; | 5 | use crate::{body::LowerCtx, path::Path}; |
diff --git a/crates/ra_syntax/src/ast/generated/nodes.rs b/crates/ra_syntax/src/ast/generated/nodes.rs index 465cb3202..afa37f227 100644 --- a/crates/ra_syntax/src/ast/generated/nodes.rs +++ b/crates/ra_syntax/src/ast/generated/nodes.rs | |||
@@ -605,8 +605,10 @@ pub struct FnPointerType { | |||
605 | pub(crate) syntax: SyntaxNode, | 605 | pub(crate) syntax: SyntaxNode, |
606 | } | 606 | } |
607 | impl FnPointerType { | 607 | impl FnPointerType { |
608 | pub fn abi(&self) -> Option<Abi> { support::child(&self.syntax) } | 608 | pub fn const_token(&self) -> Option<SyntaxToken> { support::token(&self.syntax, T![const]) } |
609 | pub fn async_token(&self) -> Option<SyntaxToken> { support::token(&self.syntax, T![async]) } | ||
609 | pub fn unsafe_token(&self) -> Option<SyntaxToken> { support::token(&self.syntax, T![unsafe]) } | 610 | pub fn unsafe_token(&self) -> Option<SyntaxToken> { support::token(&self.syntax, T![unsafe]) } |
611 | pub fn abi(&self) -> Option<Abi> { support::child(&self.syntax) } | ||
610 | pub fn fn_token(&self) -> Option<SyntaxToken> { support::token(&self.syntax, T![fn]) } | 612 | pub fn fn_token(&self) -> Option<SyntaxToken> { support::token(&self.syntax, T![fn]) } |
611 | pub fn param_list(&self) -> Option<ParamList> { support::child(&self.syntax) } | 613 | pub fn param_list(&self) -> Option<ParamList> { support::child(&self.syntax) } |
612 | pub fn ret_type(&self) -> Option<RetType> { support::child(&self.syntax) } | 614 | pub fn ret_type(&self) -> Option<RetType> { support::child(&self.syntax) } |