While attempting to build the DFL libraries, I encountered the following three errors:

[1] tabcontrol.d(18): Error: class dfl.tabcontrol.TabPage use of dfl.control.Control.opEquals(Control ctrl) hidden by TabPage is deprecated

[2] tabcontrol.d(18): Error: class dfl.tabcontrol.TabPage use of dfl.control.Control.opCmp(Control ctrl) hidden by TabPage is deprecated

[3] imagelist.d(22): Error: class dfl.imagelist.ImageList.ImageCollection use of dfl.imagelist.ImageList.ImageCollection.ListWrapArray!(Image,_images,_adding,_added,_blankListCallback,_removed,false,false,false).insert(int index, Image value) hidden by ImageCollection is deprecated

Now I know I can bypass this with the -d switch but I'm more interested in fixing the problem than bypassing it.

Control defines the following two functions:

        override Dequ opEquals(Object o)
        {
                Control ctrl = cast(Control)o;
                if(!ctrl)
                        return 0; // Not equal.
                return opEquals(ctrl);
        }

        override int opCmp(Object o)
        {
                Control ctrl = cast(Control)o;
                if(!ctrl)
                        return -1;
                return opCmp(ctrl);
        }
        
Whereas TabPage defines the following:

        override Dequ opEquals(Object o)
        {
                return text == getObjectString(o);
        }

        override int opCmp(Object o)
        {
                return stringICmp(text, getObjectString(o));
        }

How does one correct this such that the latter does not hide the first?

Problem [3] on the other hand is caused by a template mixin in the dfl.imagelist.ImageList.ImageCollection. ImageCollection is not a derived class so I do not understand what is being hidden. Please explain. Also, a suggestion on how to correct the issue would be helpful. The code is as follows:

class ImageList
{
        class ImageCollection
        {
                ...
                public:
                mixin ListWrapArray!(Image, _images,
                        _adding, _added,
                        _blankListCallback!(Image), _removed,
                        false, false, false);
        }
        ...
}

Thanks

Reply via email to