12 lines · c
1class _Nullable Smart;2 3void f1(int * _Nonnull);4 5void f2(Smart); // OK, not required on smart-pointer types6using Alias = Smart;7void f3(Alias);8 9template <class T> class _Nullable SmartTmpl;10void f2(SmartTmpl<int>);11template <class T> void f2(SmartTmpl<T>);12