www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 19339] New: extern(C++, namespace|string) disables UFCS

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

          Issue ID: 19339
           Summary: extern(C++, namespace|string) disables UFCS
           Product: D
           Version: D2
          Hardware: All
                OS: All
            Status: NEW
          Severity: normal
          Priority: P1
         Component: dmd
          Assignee: nobody puremagic.com
          Reporter: pro.mathias.lang gmail.com

```
extern (C++, std) { void fake_sym (int); }
extern (C++, `std`) { void fake_sym2 (int); }
extern (C++) { void fake_sym3 (int); }
void main () {
    42.fake_sym;  // Line 5
    42.fake_sym2; // Line 6
    42.fake_sym3;
}
```

Does not compile for `fake_sym` and `fake_sym2`, but works for the 3rd case:
```
test.d(5): Error: no property fake_sym for type int
test.d(6): Error: no property fake_sym2 for type int
```

Tested with the latest release (v2.081.2) and ~master.

--
Oct 29 2018