1957fbf1fSRichard Smith // RUN: %clang_cc1 -std=c++1z %s -verify 2957fbf1fSRichard Smith 3*f0393bf0SRichard Smith // expected-no-diagnostics 4*f0393bf0SRichard Smith 5957fbf1fSRichard Smith namespace hana_enable_if_idiom { 6957fbf1fSRichard Smith template<bool> struct A {}; 7957fbf1fSRichard Smith template<typename, typename = A<true>> struct B; 8957fbf1fSRichard Smith template<typename T, bool N> struct B<T, A<N>> {}; 9957fbf1fSRichard Smith template<typename T> struct B<T, A<T::value>> {}; 10957fbf1fSRichard Smith struct C { 11957fbf1fSRichard Smith static const bool value = true; 12957fbf1fSRichard Smith }; 13957fbf1fSRichard Smith B<C> b; 14957fbf1fSRichard Smith } 15