Bug 676 – These two funcs shouldn't conflict

Status
RESOLVED
Resolution
WONTFIX
Severity
enhancement
Priority
P2
Component
dmd
Product
D
Version
D1 (retired)
Platform
x86
OS
All
Creation time
2006-12-11T20:16:23Z
Last change time
2018-09-10T03:03:23Z
Assigned to
Walter Bright
Creator
david

Comments

Comment #0 by davidl — 2006-12-11T20:16:23Z
alias uint Handle; extern(C) { void function (Handle, byte, wchar*, uint) udat_applyPattern ; } void udat_applyPattern(Handle h, byte b, wchar[] wc, uint ui) { udat_applyPattern(h,b,cast(wchar*)wc,ui); } void main() { }
Comment #1 by thomas-dloop — 2007-01-01T10:35:50Z
These aren't 2 functions but a function and a pointer to function. To get the intended functionality replace void function (Handle, byte, wchar*, uint) udat_applyPattern ; with void udat_applyPattern (Handle, byte, wchar*, uint); I've changed the severity from "normal" to "enhancement" as the original issue is currently illegal D but also an interesting use case.
Comment #2 by davidl — 2007-01-04T01:34:59Z
umm , shouldn't call it an enhancement. it's more important than an enhancement at least it's around minor level. and it breaks existing code
Comment #3 by davidl — 2007-04-09T04:31:08Z
simplified case: extern void function (char*) udat_applyPattern ; void udat_applyPattern(char[] wc) { udat_applyPattern(cast(char*)wc); } void main() { } i think it's about the completeness of the dmd function type calling system and the completeness of type matching system. so I remark it as normal level
Comment #4 by clugdbug — 2010-07-14T13:18:55Z
This is not a bug. There aren't two functions, just one function and a variable. Note that if this was allowed, you could reasonably expect a struct with static opCall to work, as well. And then you ask why _any_ type or variable cannot overload a function. Add properties into the mix -- it'd be a disaster. I think this bug should be closed as invalid.
Comment #5 by andrei — 2010-11-26T13:26:52Z
I'll leave the decision to Walter.
Comment #6 by look.at.me.pee.please — 2018-09-10T03:03:23Z
8 years and no response from walter, closing.