2 // { dg-do compile { target c++11 } }
4 template <class Coord> struct BasePoint
7 constexpr BasePoint (Coord, Coord) : x (0), y (0) {}
9 template <class T> struct BaseCoord
12 constexpr BaseCoord (T) : value (1) {}
14 template <class units> struct IntCoordTyped : BaseCoord<int>, units
16 typedef BaseCoord Super;
17 constexpr IntCoordTyped (int) : Super (0) {}
19 template <class units>
20 struct IntPointTyped : BasePoint<IntCoordTyped<units> >, units
22 typedef BasePoint<IntCoordTyped<units> > Super;
23 constexpr IntPointTyped (int, int) : Super (0, 0) {}
28 IntPointTyped<A> a (0, 0);