// 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));