[Issue 18385] [REG 2.079] method cannot be overloaded with another extern(C) method
https://issues.dlang.org/show_bug.cgi?id=18385 greenify changed: What|Removed |Added CC||greeen...@gmail.com --- Comment #9 from greenify --- I revived the deprecation cycle at https://github.com/dlang/dmd/pull/8429. Please see the PR for the motivation and chime in if the summary there doesn't match your opinion / use cases. --
[Issue 18385] [REG 2.079] method cannot be overloaded with another extern(C) method
https://issues.dlang.org/show_bug.cgi?id=18385 Jacob Carlborg changed: What|Removed |Added Status|REOPENED|RESOLVED Resolution|--- |FIXED --- Comment #8 from Jacob Carlborg --- Fixed in https://github.com/dlang/dmd/pull/7969. --
[Issue 18385] [REG 2.079] method cannot be overloaded with another extern(C) method
https://issues.dlang.org/show_bug.cgi?id=18385 Jesse Phillips changed: What|Removed |Added CC||jesse.k.phillip...@gmail.co ||m --- Comment #7 from Jesse Phillips --- So C clearly doesn't support function overloads, but D provides for better type checking and generally expects as much. I think it would be nice to allow D to specify function overloads if the C call is ultimately the same (parameter sizes and such). This way in D a function can be specified to accept pointer types of A, B, and C rather than needing to be a void* as it is defined in C. I think it is similar to marking a parameter const even though it has no meaning to C and isn't actually enforced. This also appears to be how DWT has utilized definitions. I've realized that my upgrade to dxml and DWT for an application has cause my application to not compile on any of the D compilers, so a solution here would be nice or for [18475] to be fixed on 2.078. 18475: https://issues.dlang.org/show_bug.cgi?id=18475 --
[Issue 18385] [REG 2.079] method cannot be overloaded with another extern(C) method
https://issues.dlang.org/show_bug.cgi?id=18385 --- Comment #6 from Jacob Carlborg --- (In reply to Martin Nowak from comment #3) > So you're bug report is about > > cat > bug.d << CODE > struct S > { > extern(C) static void foo(int) {} > extern(C) static void foo(double) {} > } > CODE > dmd -c bug.d > > Error: function bug.S.foo(double) cannot be overloaded with another > extern(C) function at /home/dawg/Code/D/bug.d(3) > > > instead > ? Yes, I actually have a class. I just tried to reduce the test case as much as possible. --
[Issue 18385] [REG 2.079] method cannot be overloaded with another extern(C) method
https://issues.dlang.org/show_bug.cgi?id=18385 --- Comment #5 from Martin Nowak --- https://github.com/dlang/dmd/pull/7577/files#diff-3084a264389e086215b36670ae9f4a3dR386 --
[Issue 18385] [REG 2.079] method cannot be overloaded with another extern(C) method
https://issues.dlang.org/show_bug.cgi?id=18385 Martin Nowak changed: What|Removed |Added Summary|[REG nightly] function |[REG 2.079] method cannot |cannot be overloaded with |be overloaded with another |another extern(C) function |extern(C) method --