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