aboutsummaryrefslogtreecommitdiff
path: root/crates
diff options
context:
space:
mode:
authorbors[bot] <26634292+bors[bot]@users.noreply.github.com>2020-07-31 13:42:31 +0100
committerGitHub <[email protected]>2020-07-31 13:42:31 +0100
commit847a50e74e3e45ea84f38efb23788fa5a61566eb (patch)
tree0988b331b556d8d6a0e58e9c2b2a513e0ceb8d59 /crates
parenteccb5d52d3c4b82b6b61e231aa137b4aeb8c94ec (diff)
parenta6527ed92cb7a1156b8a118f5790d8c5fd69ab41 (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.rs1
-rw-r--r--crates/ra_syntax/src/ast/generated/nodes.rs4
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
4use ra_syntax::ast::{self}; 3use ra_syntax::ast::{self};
5 4
6use crate::{body::LowerCtx, path::Path}; 5use 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}
607impl FnPointerType { 607impl 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) }