[Issue 2789] Functions overloads are not checked for conflicts

d-bugmail at puremagic.com d-bugmail at puremagic.com
Thu Oct 26 00:06:03 UTC 2023


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

--- Comment #20 from Witold Baryluk <witold.baryluk+d at gmail.com> ---
This appears to have been fixed at some point, as I cannot reproduce it
anymore:

$ dmd t.d 
t.d(6): Error: function `t.A.m()` conflicts with previous declaration at t.d(2)
t.d(16): Error: function `t.B.m()` conflicts with previous declaration at
t.d(12)
$ ldc t.d 
ldc2               ldc-build-runtime  ldc-profdata       ldc-prune-cache    
$ ldc2 t.d 
t.d(6): Error: function `t.A.m()` conflicts with previous declaration at t.d(2)
t.d(16): Error: function `t.B.m()` conflicts with previous declaration at
t.d(12)
$ gdc t.d 
t.d:6:11: error: function ‘t.A.m()’ conflicts with previous declaration at
t.d:2:9
    6 |     float m() {
      |           ^
t.d:16:9: error: function ‘t.B.m()’ conflicts with previous declaration at
t.d:12:9
   16 |     int m() {
      |         ^


Same with global functions.


DMD64 D Compiler v2.105.2

LDC - the LLVM D compiler (1.30.0):
  based on DMD v2.100.1 and LLVM 14.0.6

gdc (Debian 13.2.0-5) 13.2.0

--


More information about the Digitalmars-d-bugs mailing list