I found the code, which compiles, the T: for<'b> A<'b> confuses me, from the output of rustc, I got to know it means some T which implements trait A with any lifetime.
There's no 'static requirement on the implementor.
In more nuanced cases, implied bounds can result in a higher ranked trait bound (HRTB) being true even when the binder lifetime has an (implied) constraint.