Closed
Description
Consider the following program:
fn main() {}
fn foo<T, 'a>(x: &'a T) {}
Compiling gives this error:
lf.rs:2:11: 2:13 error: expected ident, found `'a`
lf.rs:2 fn foo<T, 'a>(x: &'a T) {}
^~
This error message obscures the fact that, for consistency's sake, we require lifetime parameters to precede type parameters in the type parameter declaration list.
I propose the following error message:
lf.rs:2:11: 2:13 error: lifetime parameters must be declared prior to type parameters
lf.rs:2 fn foo<T, 'a>(x: &'a T) {}
^~