digitalmars.D.bugs - [Issue 20499] New: bad error message caused by UFCS attempt on the
- d-bugmail puremagic.com (41/43) Jan 11 2020 https://issues.dlang.org/show_bug.cgi?id=20499
https://issues.dlang.org/show_bug.cgi?id=20499 Issue ID: 20499 Summary: bad error message caused by UFCS attempt on the identifier matching to an import Product: D Version: D2 Hardware: All OS: All Status: NEW Keywords: diagnostic Severity: normal Priority: P1 Component: dmd Assignee: nobody puremagic.com Reporter: b2.temp gmx.com a.d --- module a; class Foo { private int x; } --- --- module b; import a; void test(Foo foo) { foo.a++; } --- then in the same directory as the two files $ dmd b.d output:Error: function expected before `()`, not `module a` of type `void`The real problem here is that `Foo` does not contain any member named a. The bad message leads to think that the compiler tries a function `foo` on the import `a`, i.e by UFCS but the only existing `foo` is a class. Also if you look at the command line you can note that "a.d" is not specified. I don't know why dmd automatically detects the file. If this is part of this strange issue then what is expected ismodule `a` is in file 'a.d' which cannot be read--
Jan 11 2020