Jump to page: 1 2
Thread overview
[Issue 12242] conflict error with public imports
May 14, 2014
Kenji Hara
Jul 29, 2014
Kenji Hara
Jul 29, 2014
Martin Nowak
Jul 29, 2014
Martin Nowak
Jul 29, 2014
Martin Nowak
May 14, 2014
https://issues.dlang.org/show_bug.cgi?id=12242

--- Comment #7 from Kenji Hara <k.hara.pg@gmail.com> ---
One more test case of this issue:

module test01;

private mixin template MixTmp(T, int x)
{
    template foo(U) if (is(U == T))
    {
        enum foo = x;
    }
}

mixin MixTmp!(int,  1);
mixin MixTmp!(long, 2);

------------

module test02;

private mixin template MixTmp(T, int x)
{
    template foo(U) if (is(U == T))
    {
        enum foo = x;
    }
}

mixin MixTmp!(float, 3);
mixin MixTmp!(real,  4);


------------

import test01, test02;
import std.stdio;

void main()
{
    writeln( foo!int );
}

In module test01 and test02, 'foo' make individual overload sets. And in module test03, the imported two overload sets 'foo' should be merged to a new overload set 'foo' which contains four mixed-in templates.

--
July 13, 2014
https://issues.dlang.org/show_bug.cgi?id=12242

hsteoh@quickfur.ath.cx changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |hsteoh@quickfur.ath.cx

--
July 29, 2014
https://issues.dlang.org/show_bug.cgi?id=12242

--- Comment #8 from Kenji Hara <k.hara.pg@gmail.com> ---
(In reply to Walter Bright from comment #4)
> This is not a compiler bug. It has nothing to do with 314.
> 
> The problem is that 'strip' is defined in both std.string and std.algorithm.

But their signatures don't have ambiguity. With one string argument, " af ".strip == strip(" af ") should match only to std.string.strip. So this is a compiler bug.

--
July 29, 2014
https://issues.dlang.org/show_bug.cgi?id=12242

--- Comment #9 from github-bugzilla@puremagic.com ---
Commits pushed to master at https://github.com/D-Programming-Language/dmd

https://github.com/D-Programming-Language/dmd/commit/f1130bf5762a21697708a3fe94eb291cdf4c3074 fix Issue 12242 - conflict error with public imports

https://github.com/D-Programming-Language/dmd/commit/79a406dfdbeda7d1f5b21e52252c07cb6a6cc839 Merge pull request #3388 from 9rnsr/fix12242

Issue 12242 - conflict error with public imports

--
July 29, 2014
https://issues.dlang.org/show_bug.cgi?id=12242

github-bugzilla@puremagic.com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|---                         |FIXED

--
July 29, 2014
https://issues.dlang.org/show_bug.cgi?id=12242

Martin Nowak <code@dawg.eu> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |code@dawg.eu

--- Comment #10 from Martin Nowak <code@dawg.eu> ---
Is this a duplicate of issue 7327?

--
July 29, 2014
https://issues.dlang.org/show_bug.cgi?id=12242

--- Comment #11 from hsteoh@quickfur.ath.cx ---
Issue #7327 appears to have been fixed by https://github.com/D-Programming-Language/dmd/pull/3388. Tested on Linux/64bit, on git HEAD.

--
July 29, 2014
https://issues.dlang.org/show_bug.cgi?id=12242

--- Comment #12 from Martin Nowak <code@dawg.eu> ---
I don't like the term cross module overload set, because an overload sets is a set of overloads from different modules (or mixin templates) by definition. The bug resolution to flatten all nested overload sets into a single overload set seems to be semantically correct.

--
July 29, 2014
https://issues.dlang.org/show_bug.cgi?id=12242

--- Comment #13 from Martin Nowak <code@dawg.eu> ---
*** Issue 7327 has been marked as a duplicate of this issue. ***

--
July 31, 2014
https://issues.dlang.org/show_bug.cgi?id=12242

--- Comment #14 from github-bugzilla@puremagic.com ---
Commit pushed to 2.066 at https://github.com/D-Programming-Language/dmd

https://github.com/D-Programming-Language/dmd/commit/01bab81bb9d078886fded28d30b11af8cc866a54 Merge pull request #3388 from 9rnsr/fix12242

Issue 12242 - conflict error with public imports

--
« First   ‹ Prev
1 2