1 
2 template<typename _Iterator, typename>
3 struct Trait;
4 
5 template<typename _Iterator>
6 struct Trait<_Iterator, void> {};
7 
8 template<typename _Iterator>
9 requires  true
10 struct Trait<_Iterator, void>
11 {
12   template<typename _Iter> struct __diff {};
13 
14   template<typename _Iter> requires true struct __diff<_Iter> {};
15 };
16