aboutsummaryrefslogtreecommitdiff
path: root/gcc/rust/parse/rust-parse.h
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/rust/parse/rust-parse.h')
-rw-r--r--gcc/rust/parse/rust-parse.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/rust/parse/rust-parse.h b/gcc/rust/parse/rust-parse.h
index 382bba6..c105500 100644
--- a/gcc/rust/parse/rust-parse.h
+++ b/gcc/rust/parse/rust-parse.h
@@ -150,7 +150,13 @@ private:
parse_generic_params_in_angles ();
std::vector<std::unique_ptr<AST::GenericParam> > parse_generic_params ();
std::vector<std::unique_ptr<AST::LifetimeParam> > parse_lifetime_params ();
+ template <typename EndTokenPred>
+ std::vector<std::unique_ptr<AST::LifetimeParam> > parse_lifetime_params (EndTokenPred is_end_token);
std::vector<AST::LifetimeParam> parse_lifetime_params_objs ();
+ template <typename EndTokenPred>
+ std::vector<AST::LifetimeParam> parse_lifetime_params_objs (EndTokenPred is_end_token);
+ template <typename ParseFunction, typename EndTokenPred>
+ auto parse_generic_params (ParseFunction parsing_function, EndTokenPred is_end_token, std::string error_msg = "failed to parse generic param in generic params") -> std::vector<decltype(parsing_function ())>;
AST::LifetimeParam parse_lifetime_param ();
std::vector<std::unique_ptr<AST::TypeParam> > parse_type_params ();
std::unique_ptr<AST::TypeParam> parse_type_param ();