Thread overview
[Bug 253] Linker error when using -O
March 03
https://bugzilla.gdcproject.org/show_bug.cgi?id=253

gdc@croco-puzzle.com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |gdc@croco-puzzle.com

-- 
You are receiving this mail because:
You are watching all bug changes.
March 04
https://bugzilla.gdcproject.org/show_bug.cgi?id=253

Iain Buclaw <ibuclaw@gdcproject.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED

--- Comment #1 from Iain Buclaw <ibuclaw@gdcproject.org> ---
Confirmed.  (NB: _DT is a thunk)

-- 
You are receiving this mail because:
You are watching all bug changes.
March 04
https://bugzilla.gdcproject.org/show_bug.cgi?id=253

--- Comment #2 from Iain Buclaw <ibuclaw@gdcproject.org> ---
Reduced test:
---
import some_class;

interface A
{
    void foo(int[int]);
}

interface C:A
{
}

class D:B,C
{
}

---

import example;

class ConvException : Exception
{
    this(string s)
    {
        super(s);
    }
}

T to(T, A)(A)
{
    throw new ConvException(null);
}

class B : A
{
    void foo(int[int] a)
    {
        if (to!int(a.get(0, 1))) return;
    }

}
---

Happens because the thunk generated in 'example.d' inlines the function call to 'B.foo'.  However that doesn't work because it calls a lambda that is not externally visible outside of the compilation unit of 'some_class.d'.

-- 
You are receiving this mail because:
You are watching all bug changes.
March 04
https://bugzilla.gdcproject.org/show_bug.cgi?id=253

--- Comment #3 from Iain Buclaw <ibuclaw@gdcproject.org> ---
https://github.com/D-Programming-GDC/GDC/pull/409

-- 
You are receiving this mail because:
You are watching all bug changes.
March 04
https://bugzilla.gdcproject.org/show_bug.cgi?id=253

Iain Buclaw <ibuclaw@gdcproject.org> changed:

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

-- 
You are receiving this mail because:
You are watching all bug changes.