/*
TEST_OUTPUT:
---
A: false
A: false
fail_compilation/fail7862.d(26): Error: template instance `nonExistent!()` template `nonExistent` is not defined
fail_compilation/fail7862.d(25): Error: template instance `fail7862.B!(A)` error instantiating
---
*/

// https://issues.dlang.org/show_bug.cgi?id=7862

template B(T) {
  mixin(
    {
      foreach (name; __traits(derivedMembers, T)) {}
      return "struct B {}";
    }()
  );
}

struct A {
  pragma(msg, "A: " ~ (__traits(compiles, B!A) ? "true" : "false"));
  pragma(msg, "A: " ~ (__traits(compiles, B!A) ? "true" : "false"));
  B!A c;
  static if (nonExistent!()) {}
}

auto d = A.init.c;
