www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 17544] New: Versions derived from predefined versions not

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

          Issue ID: 17544
           Summary: Versions derived from predefined versions not reserved
           Product: D
           Version: D2
          Hardware: All
                OS: All
            Status: NEW
          Severity: normal
          Priority: P1
         Component: dmd
          Assignee: nobody puremagic.com
          Reporter: ibuclaw gdcproject.org

The documentations says (emphasis on the last sentence):

---
It is inevitable that the D language will evolve over time. Therefore, the
version identifier namespace beginning with "D_" is reserved for identifiers
indicating D language specification or new feature conformance. Further, all
identifiers derived from the ones listed above by appending any character(s)
are reserved.

This means that e.g. ARM_foo and Windows_bar are reserved while foo_ARM and
bar_Windows are not.
---

However, this code compiles, which seems contrary to the spec.

---
version = ARM_foo;
version = Windows_bar;

version (ARM_foo)
{
  void foo()
  {
  }
}

version (Windows_bar)
{
  void bar()
  {
  }
}
---

--
Jun 24