This snippet successfully compiles despite `f` not having lifetime parameters and even `'a`, `'b`, `'c` being non-existent. ```rust struct S; impl S { fn f(self) {} } fn main() { S.f::<'a, 'b, 'c>(); } ``` The parser parses lifetime arguments, but doesn't store them anywhere, so they don't present in AST/HIR. The issue exists since Rust 1.0.