Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/parser/src/grammar/generic_params.rs')
-rw-r--r--crates/parser/src/grammar/generic_params.rs11
1 files changed, 5 insertions, 6 deletions
diff --git a/crates/parser/src/grammar/generic_params.rs b/crates/parser/src/grammar/generic_params.rs
index cb1b59f649..d419817e5c 100644
--- a/crates/parser/src/grammar/generic_params.rs
+++ b/crates/parser/src/grammar/generic_params.rs
@@ -182,12 +182,6 @@ fn type_bound(p: &mut Parser<'_>) -> bool {
);
m.complete(p, USE_BOUND_GENERIC_ARGS);
}
- T![?] if p.nth_at(1, T![for]) => {
- // test question_for_type_trait_bound
- // fn f<T>() where T: ?for<> Sized {}
- p.bump_any();
- types::for_type(p, false)
- }
_ => {
if path_type_bound(p).is_err() {
m.abandon(p);
@@ -219,8 +213,13 @@ fn path_type_bound(p: &mut Parser<'_>) -> Result<(), ()> {
// test async_trait_bound
// fn async_foo(_: impl async Fn(&i32)) {}
p.eat(T![async]);
+ // test question_for_type_trait_bound
+ // fn f<T>() where T: for<> ?Sized {}
p.eat(T![?]);
+ // test_err invalid_question_for_type_trait_bound
+ // fn f<T>() where T: ?for<> Sized {}
+
if paths::is_use_path_start(p) {
types::path_type_bounds(p, false);
// test_err type_bounds_macro_call_recovery