// PR c++/86378 | |
// { dg-do compile { target c++11 } } | |
struct Pepper {}; | |
struct Apple { Apple(int) {} }; | |
struct Combination : Apple, Pepper | |
{ | |
Combination(Pepper p, Apple a) | |
: Apple(a), Pepper(p) | |
{} | |
}; | |
struct MyCombination | |
{ | |
using Spice = Pepper; | |
using Fruit = Apple; | |
Combination combination; | |
template<typename T> | |
constexpr MyCombination(T&& t) | |
noexcept(noexcept(Combination(Spice(), Fruit(t)))) | |
: combination(Spice(), Fruit(t)) | |
{} | |
}; | |
MyCombination obj(Apple(4)); |