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