[Issue 8074] template-mixin example contradicts text

d-bugmail at puremagic.com d-bugmail at puremagic.com
Mon May 20 11:34:17 PDT 2013


http://d.puremagic.com/issues/show_bug.cgi?id=8074


Martin Nowak <code at dawg.eu> changed:

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


--- Comment #7 from Martin Nowak <code at dawg.eu> 2013-05-20 11:34:15 PDT ---
(In reply to comment #6)
> I can explain it based on the 'overload set resolution rule'.

Yes, according to http://dlang.org/template-mixin.html these form an overload
set and only one of the sets has a match.

(In reply to comment #5)
> Edit: Well except the case of taking the address of such a function which could > prove problematic.

No problem here, you just have to specify the function type.

void foo() {}
void foo(int) {}

void main()
{
    void function() a1 = &foo;
    void function(int) a2 = &foo;
    auto b1 = cast(void function())&foo;
    auto b2 = cast(void function(int))&foo;
    assert(cast(void*)a1 !is cast(void*)a2);
    assert(a1 is b1);
    assert(a2 is b2);
}

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------


More information about the Digitalmars-d-bugs mailing list