It's accurate, but it's not clear.
What it's telling you is that today, fn foo<T>(_:T) where for<'a> T: 'a
is the same as fn foo<T>(_:T) where T: 'static
. This is the borrow checker limitation the error message references; ideally, for<'a> T: 'a
should be more general than T: 'static
, as it should accept any value of type T
regardless of the lifetime parameter.
However, the borrow checker can't handle this right now - so to get useful features out to everyone, the compiler understands for<'a> T: 'a
as a weird way to write T: 'static
- and when the borrow checker is improved, it will permit code that doesn't compile today to compile.