// PR c++/67364 // { dg-do compile { target c++11 } } template struct tuple { Xn storage_; constexpr tuple(Xn const& xn) : storage_(xn) { } template constexpr tuple(tuple const& other) : storage_(other.storage_) { } template constexpr tuple(tuple& other) : tuple(const_cast(other)) { } }; template struct wrapper { T value; }; template constexpr wrapper wrap(T t) { return {t}; } constexpr wrapper> t = wrap(tuple{2}); static_assert(t.value.storage_ == 2, "");