// PR c++/50436

template <bool> struct VI {};
template <typename T>
struct IP
{
  static const bool r = IP<T*>::r;  // { dg-error "depth" }
};
template <typename T>
struct V
{
  static const bool r = IP<T*>::r;
  VI<r> vi;
};
struct X;
struct Y
{
  V<X> v;  // { dg-message "from here" }
}

// { dg-prune-output "compilation terminated" }