1 // Copyright 2017 The Rust Project Developers. See the COPYRIGHT
2 // file at the top-level directory of this distribution and at
3 // http://rust-lang.org/COPYRIGHT.
5 // Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6 // http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7 // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8 // option. This file may not be copied, modified, or distributed
9 // except according to those terms.
11 // compile-flags: -Z parse-only
13 type A = for<'a:> fn(); // OK
14 type A = for<'a:,> fn(); // OK
15 type A = for<'a> fn(); // OK
16 type A = for<> fn(); // OK
17 type A = for<'a: 'b + 'c> fn(); // OK (rejected later by ast_validation)
18 type A = for<'a: 'b,> fn(); // OK(rejected later by ast_validation)
19 type A = for<'a: 'b +> fn(); // OK (rejected later by ast_validation)
20 type A = for<'a, T> fn(); // OK (rejected later by ast_validation)
21 type A = for<,> fn(); //~ ERROR expected one of `>`, identifier, or lifetime, found `,`