[Issue 18385] [REG 2.079] method cannot be overloaded with another extern(C) method

2018-07-01 Thread d-bugmail--- via Digitalmars-d-bugs
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

2018-03-03 Thread d-bugmail--- via Digitalmars-d-bugs
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

2018-02-23 Thread d-bugmail--- via Digitalmars-d-bugs
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

2018-02-23 Thread d-bugmail--- via Digitalmars-d-bugs
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

2018-02-23 Thread d-bugmail--- via Digitalmars-d-bugs
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

2018-02-23 Thread d-bugmail--- via Digitalmars-d-bugs
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

--