On Sunday, 20 March 2016 at 19:06:32 UTC, Johan Engelen wrote:
On Sunday, 20 March 2016 at 17:57:12 UTC, Vincent R wrote:
On Sunday, 20 March 2016 at 16:16:18 UTC, Marco Leise wrote:
Am Sun, 20 Mar 2016 11:28:19 +0000
schrieb Vincent R <l...@dlang.org>:

Hi,

I would like to start a new project (a bonjour/zeroconf wrapper
and a gui browser using it).
For the gui part I would like to use my existing skills using
wxWidgets wrapper (wxD).
So I have started to report a problem a few months ago:
https://forum.dlang.org/post/rtarlodeojnmedgsn...@forum.dlang.org

But so far(DMD32 D Compiler v2.070.2) it's still not fixed.
Do you think it will be fixed one day ?

Thanks

Yes, I think it will be fixed one day, since - as you know
by reading the very thread you linked - it is already reported
and the GDC developers chimed in and considered it critical.
There are also 118 open critical/blocker bugs that were
reported before yours. Most of them by people here on the
forums and you would need to explain to us why your bug
deserves higher attention than the others (154 in total).

Dlang is free open-source software and there is only a hand full of people who are fixing bugs in the compiler just for the sake of improving it. Most people contribute occasionally when they are interested in a solution to a particular problem.

If you really need this fixed now ... you know the drill. I suggest you analyze the problem and start a discussion about it. Honestly asking why the compiler emits duplicate symbols in a reduced test case might have yielded you some good responses from the people who wrote the code.

Ok first maybe it's already reported to GDC but to me it's not only a gdc bug since it also happens with dmd. So I don't know how bugs are fixed in the differents compilers but I suppose they share the same frontend (maybe I am mistaken) and in this case I prefer not to wait for gdc developers to fix it but to see if for instance some dmd developers have some time to fix it. I just want to use the language and don't have time to dig inside its inner workings, so I think D is not for me. This project was the opportunity to learn the language by fixing an unmaintained library (wxD) but it's not as easy as I thought.

What may speed-up bug fixing a lot is preparing a nice testcase that is *as small as possible*. As you can see in the bug report [1], there is already a testcase. It is a good start, but it is not very minimal: contains a lot of comments etc. That is a lot of distraction / bother (for me at least). One way to help here is to minimize it further, and distill it down to the essential thing that appears to trigger the bug. You can do that without knowing any compiler internals. It can be very time consuming to make such a testcase, which may discourage developers fixing of your bug.

[1] https://issues.dlang.org/show_bug.cgi?id=15324

Ok I think I have found the problem, here is the testcase:

alias TreeItemId wxTreeItemId;
        public class TreeItemId : wxObject
        {
                public this(IntPtr wxobj)
                {
                        super(wxobj);
                }
                        
                private this(IntPtr wxobj, bool memOwn)
                {
                        super(wxobj);
                        this.memOwn = memOwn;
                }

                public this()
                {
                        this(wxTreeItemId_ctor(), true);
                }
                
                public this(void* pItem)
                {
                        this(wxTreeItemId_ctor2(pItem), true);
                }
                
                override protected void dtor() { wxTreeItemId_dtor(wxobj); }
        }

The problem is I think between public this(void* pItem) and public this(IntPtr wxobj)
because from what I understand they are the same.
If I comment one of the two constructors it seems to remove the warning about duplicated symbols. Now I need to understand what the original author wanted to do by declaring these 2 constructors.

Reply via email to