Summary: derivedMembers forward reference
           Product: D
           Version: D2
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: regression
          Priority: P2
         Component: DMD

--- Comment #0 from klickverbot <> 2012-04-10 19:07:18 PDT 
The different behavior of is() from bug 7868 depending on whether it was
invoked from a static if condition or not might be acceptable, but this example
is clearly a regression in my eyes:

module a;

struct A {
  import b : c;

  // Instantiate template which uses derivedMembers.
  alias D!A Test;

  // Unrelated template from other module - �not defined�.
  static if (c!()()) {}

// Just something using derivedMembers.
template D(T) {
    foreach (name; __traits(derivedMembers, T)) {}
    return "";
module b;
bool c()() { return true; }

It compiled fine in DMD 2.058, but fails with �template instance c!() template
'c' is not defined, did you mean a?� in latest Git master (7c22b8a), which is
absolutely not related to the cause of the error.

Configure issuemail:
------- You are receiving this mail because: -------

Reply via email to