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