// PR c++/61959 // { dg-do compile { target c++11 } } template struct BasePoint { Coord x, y; constexpr BasePoint (Coord, Coord) : x (0), y (0) {} }; template struct BaseCoord { int value; constexpr BaseCoord (T) : value (1) {} }; template struct IntCoordTyped : BaseCoord, units { typedef BaseCoord Super; constexpr IntCoordTyped (int) : Super (0) {} }; template struct IntPointTyped : BasePoint >, units { typedef BasePoint > Super; constexpr IntPointTyped (int, int) : Super (0, 0) {} }; struct A { }; IntPointTyped a (0, 0);