aboutsummaryrefslogtreecommitdiff
path: root/gcc/rust/parse/rust-parse.h
diff options
context:
space:
mode:
authorPierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>2023-11-02 17:10:33 +0100
committerP-E-P <32375388+P-E-P@users.noreply.github.com>2023-11-21 09:11:38 +0000
commit889dec2e6a444301b8fdf825fd65e2220052ef88 (patch)
treecf0b1909c802406ac522b79f22c9d2a106b84fb9 /gcc/rust/parse/rust-parse.h
parent005d5e1f0343d8e0091d47938e8d6b2f384d45d7 (diff)
downloadgcc-889dec2e6a444301b8fdf825fd65e2220052ef88.zip
gcc-889dec2e6a444301b8fdf825fd65e2220052ef88.tar.gz
gcc-889dec2e6a444301b8fdf825fd65e2220052ef88.tar.bz2
Add visibility to trait item
The compiler shall parse visibility modifiers on trait items and reject those at a later stage (ast validation). gcc/rust/ChangeLog: * ast/rust-item.h (struct Visibility): Move Visibility from here... * ast/rust-ast.h (struct Visibility): ...to here. * parse/rust-parse-impl.h (Parser::parse_trait_item): Parse visibility before giving it back to the item parsing function. (Parser::parse_trait_type): Add visibility modifier. * parse/rust-parse.h (RUST_PARSE_H): Change function prototype. Signed-off-by: Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
Diffstat (limited to 'gcc/rust/parse/rust-parse.h')
-rw-r--r--gcc/rust/parse/rust-parse.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/rust/parse/rust-parse.h b/gcc/rust/parse/rust-parse.h
index 9e924e0..08e6ce0 100644
--- a/gcc/rust/parse/rust-parse.h
+++ b/gcc/rust/parse/rust-parse.h
@@ -17,6 +17,7 @@ along with GCC; see the file COPYING3. If not see
#ifndef RUST_PARSE_H
#define RUST_PARSE_H
+#include "rust-item.h"
#include "rust-lex.h"
#include "rust-ast-full.h"
#include "rust-diagnostics.h"
@@ -331,7 +332,7 @@ private:
std::unique_ptr<AST::Trait> parse_trait (AST::Visibility vis,
AST::AttrVec outer_attrs);
std::unique_ptr<AST::TraitItemType>
- parse_trait_type (AST::AttrVec outer_attrs);
+ parse_trait_type (AST::AttrVec outer_attrs, AST::Visibility);
std::unique_ptr<AST::TraitItemConst>
parse_trait_const (AST::AttrVec outer_attrs);
std::unique_ptr<AST::Param> parse_self_param ();