digitalmars.D.learn - duplicate symbols
- Dmitri Makarov (14/14) Apr 10 2015 Should the compiler issue an error for this code?
- Daniel =?UTF-8?B?S296w6Fr?= via Digitalmars-d-learn (8/26) Apr 10 2015 It will when you try to use this function
- Dmitri Makarov (3/30) Apr 10 2015 Fine. Then I expect it not to break the linking when the function
- Kagamin (1/1) Apr 10 2015 The compiler postpones some checks to codegen and link time.
- Dmitri Makarov (2/3) Apr 10 2015
- Kagamin (2/5) Apr 10 2015 To see all errors you should link the code. Then you can fix them.
- Steven Schveighoffer (3/17) Apr 10 2015 There's a bug on this: https://issues.dlang.org/show_bug.cgi?id=2789
Should the compiler issue an error for this code? struct S { } string generate(S t) { return ""; } string generate(S t) { return "huh?"; } It compiles and breaks with multiple definition of '_D1b8generateFS1b1SZAya' at link time. dmd v2.067
Apr 10 2015
It will when you try to use this function test.d(18): Error: test.generate called with argument types (S) matches both: test.d(7): test.generate(S t) and: test.d(12): test.generate(S t) On Fri, 10 Apr 2015 09:54:31 +0000 Dmitri Makarov via Digitalmars-d-learn <digitalmars-d-learn puremagic.com> wrote:Should the compiler issue an error for this code? struct S { } string generate(S t) { return ""; } string generate(S t) { return "huh?"; } It compiles and breaks with multiple definition of '_D1b8generateFS1b1SZAya' at link time. dmd v2.067
Apr 10 2015
Fine. Then I expect it not to break the linking when the function is not called. Now it does, albeit only when -cov is used. On Friday, 10 April 2015 at 10:01:00 UTC, Daniel Kozák wrote:It will when you try to use this function test.d(18): Error: test.generate called with argument types (S) matches both: test.d(7): test.generate(S t) and: test.d(12): test.generate(S t) On Fri, 10 Apr 2015 09:54:31 +0000 Dmitri Makarov via Digitalmars-d-learn <digitalmars-d-learn puremagic.com> wrote:Should the compiler issue an error for this code? struct S { } string generate(S t) { return ""; } string generate(S t) { return "huh?"; } It compiles and breaks with multiple definition of '_D1b8generateFS1b1SZAya' at link time. dmd v2.067
Apr 10 2015
The compiler postpones some checks to codegen and link time.
Apr 10 2015
How does this help me to get a working program? On Friday, 10 April 2015 at 10:08:56 UTC, Kagamin wrote:The compiler postpones some checks to codegen and link time.
Apr 10 2015
On Friday, 10 April 2015 at 10:14:51 UTC, Dmitri Makarov wrote:How does this help me to get a working program? On Friday, 10 April 2015 at 10:08:56 UTC, Kagamin wrote:To see all errors you should link the code. Then you can fix them.The compiler postpones some checks to codegen and link time.
Apr 10 2015
On 4/10/15 5:54 AM, Dmitri Makarov wrote:Should the compiler issue an error for this code? struct S { } string generate(S t) { return ""; } string generate(S t) { return "huh?"; } It compiles and breaks with multiple definition of '_D1b8generateFS1b1SZAya' at link time. dmd v2.067There's a bug on this: https://issues.dlang.org/show_bug.cgi?id=2789 -Steve
Apr 10 2015