Thread overview | |||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
August 23, 2014 D1: Error: duplicate union initialization for size | ||||
---|---|---|---|---|
| ||||
Greetings. I know that D1 will be deprecated pretty soon and I have a huge project based on D1. I am trying to build everything using the latest D1 build (1.076). I am looking into cleaning up a lot of code for this project that uses, dbi, juno and dfl. I am finding this error while compiling the code: c:\D\dmd1.76\dmd\import\dfl\control.d(7634): Error: duplicate union initialization for size This is line 7634: const Size DEFAULT_SCALE = { 5, 13 }; What does the error say and how can I fix it? Thanks. josé |
August 24, 2014 Re: D1: Error: duplicate union initialization for size | ||||
---|---|---|---|---|
| ||||
Posted in reply to jicman | Mybe, some fields in Size overlap. If you look at it, you may understand, what happens. |
August 24, 2014 Re: D1: Error: duplicate union initialization for size | ||||
---|---|---|---|---|
| ||||
Posted in reply to jicman | jicman:
> This is line 7634:
>
> const Size DEFAULT_SCALE = { 5, 13 };
>
> What does the error say and how can I fix it? Thanks.
Can you show the (reduced) definition of Size and DEFAULT_SCALE? Even better to show a minimized self-contained program that has the problem.
Bye,
bearophile
|
August 24, 2014 Re: D1: Error: duplicate union initialization for size | ||||
---|---|---|---|---|
| ||||
Posted in reply to bearophile | On Sunday, 24 August 2014 at 10:52:38 UTC, bearophile wrote: > jicman: > >> This is line 7634: >> >> const Size DEFAULT_SCALE = { 5, 13 }; >> >> What does the error say and how can I fix it? Thanks. > > Can you show the (reduced) definition of Size and DEFAULT_SCALE? Even better to show a minimized self-contained program that has the problem. The compiler 1.076 is calling the DFL Control file. These are all the lines where DEFAULT_SCALE) is found: return calcScale(area, toScale, DEFAULT_SCALE); const Size DEFAULT_SCALE = { 5, 13 }; Size autossz = DEFAULT_SCALE; Tehse are all the lines where Size is found in all the dfl library files: clientSize = Size(340, 150); final Size size() // getter Size result; Size defaultSize() // getter return Size(75, 23); override Size defaultSize() // getter return Size(120, 23); // ? final Size clientSize() // getter final void clientSize(Size sz) // setter //wclientsz = Size(width, height); final void size(Size sz) // setter final Size size() // getter return wrect.size; // struct Size, not sizeof. final Size getAutoScaleSize(Font f) Size result; final Size getAutoScaleSize() package final Size _fetchClientSize() return Size(r.right, r.bottom); Size defaultSize() // getter return Size(0, 0); Size wclientsz; deprecated final void autoScrollMargin(Size sz) // setter deprecated final Size autoScrollMargin() // getter return Size(0, 0); deprecated final void autoScrollMinSize(Size sz) // setter deprecated final Size autoScrollMinSize() // getter return Size(0, 0); final Size autoScaleBaseSize() // getter final void autoScaleBaseSize(Size newSize) // setter static Size calcScale(Size area, Size toScale, Size fromScale) // package Size calcScale(Size area, Size toScale) // package final void _scale(Size toScale) // package void xscale(Control c, Size fromScale) Size sz; sz = calcScale(Size(c.left, c.top), toScale, fromScale); final void scrollSize(Size sz) // setter final Size scrollSize() // getter const Size DEFAULT_SCALE = { 5, 13 }; //Size scrollmargin, scrollmin; Size autossz = DEFAULT_SCALE; Size scrollsz = { 0, 0 }; Point opAdd(Size sz) Point opSub(Size sz) void opAddAssign(Size sz) void opSubAssign(Size sz) struct Size // docmain /// Construct a new Size. static Size opCall(int width, int height) Size sz; static Size opCall() Size sz; Dequ opEquals(Size sz) Size opAdd(Size sz) Size result; Size opSub(Size sz) Size result; void opAddAssign(Size sz) void opSubAssign(Size sz) Size size() //getter return Size(width, height); void size(Size sz) // setter static Rect opCall(Point location, Size size) void inflate(Size insz) Size size(); // getter final override Size size() // getter return Size(bm.bmWidth, bm.bmHeight); Size sz; Size sz; final override Size size() // getter Size result; final Size getSize(HDC hdc) // package return Size(getWidth(hdc), getHeight(hdc)); final Size getSize(Graphics g) return Size(getWidth(g), getHeight(g)); Size sz; final Size measureText(Dstring text, Font font) return Size(sz.cx, sz.cy); final Size measureText(Dstring text, Font font, int maxWidth, TextFormat fmt) return Size(rect.right - rect.left, rect.bottom - rect.top); final Size measureText(Dstring text, Font font, TextFormat fmt) final Size measureText(Dstring text, Font font, int maxWidth) final Size measureText(Dstring text, Font font) final Size getScaleSize(Font f) Size result; final Size size() // getter return Size(_w, _h); final override Size size() // getter return Size(bm.bmWidth, bm.bmHeight); protected override Size defaultSize() // getter return Size(300, 300); //Size csz; final void minimumSize(Size min) // setter Size changesz; final Size minimumSize() // getter final void maximumSize(Size max) // setter Size changesz; final Size maximumSize() // getter Size autoscaleBase; Size minsz, maxsz; // {0, 0} means none. wclientsz = Size(wrect.width - ((r.right - r.left) - wrect.width), wrect.height - ((r.bottom - r.top) - wrect.height)); override Size defaultSize() // getter return Size(200, 100); Size tsz = g.measureText(txt, f, tfmt); override Size size() // getter final void imageSize(Size sz) // setter final Size imageSize() // getter return Size(_w, _h); Size preferredSize() // getter Size result; protected override Size defaultSize() // getter return Size(100, 23); Size sz; Size sz; protected override Size defaultSize() // getter return Size(120, 95); protected override Size defaultSize() // getter return Size(120, 95); clientSize = Size(0, 0); clientSize = Size(0, 0); Size isz; protected override Size defaultSize() // getter return Size(100, 23); override Size defaultSize() // getter return Size(120, 120); // ? override Size defaultSize() // getter //return Size(GetSystemMetrics(SM_CXSIZEFRAME), GetSystemMetrics(SM_CYSIZEFRAME)); return Size(sx, sy); protected override Size defaultSize() // getter return Size(200, 200); // ? override Size defaultSize() // getter return Size(120, 23); // ? final Size imageSize() // getter return Size(16, 16); // ? protected override Size defaultSize() // getter return Size(100, 16); protected override Size defaultSize() // getter return Size(120, 100); USHORT cb; // Size including cb. I just don't know what the error means to be able to figure out what the problem is. Thanks for the help. josé |
August 25, 2014 Re: D1: Error: duplicate union initialization for size | ||||
---|---|---|---|---|
| ||||
Posted in reply to jicman | On Sunday, 24 August 2014 at 21:54:57 UTC, jicman wrote:
> On Sunday, 24 August 2014 at 10:52:38 UTC, bearophile wrote:
>> jicman:
>>
>>> This is line 7634:
>>>
>>> const Size DEFAULT_SCALE = { 5, 13 };
>>>
>>> What does the error say and how can I fix it? Thanks.
>>
>> Can you show the (reduced) definition of Size and DEFAULT_SCALE? Even better to show a minimized self-contained program that has the problem.
>
> The compiler 1.076 is calling the DFL Control file. These are all the lines where DEFAULT_SCALE) is found:
>
> return calcScale(area, toScale, DEFAULT_SCALE);
> const Size DEFAULT_SCALE = { 5, 13 };
> Size autossz = DEFAULT_SCALE;
>
> Tehse are all the lines where Size is found in all the dfl library files:
>
> clientSize = Size(340, 150);
> final Size size() // getter
> Size result;
> Size defaultSize() // getter
> return Size(75, 23);
> override Size defaultSize() // getter
> return Size(120, 23); // ?
> final Size clientSize() // getter
> final void clientSize(Size sz) // setter
> //wclientsz = Size(width, height);
> final void size(Size sz) // setter
> final Size size() // getter
> return wrect.size; // struct Size, not sizeof.
> final Size getAutoScaleSize(Font f)
> Size result;
> final Size getAutoScaleSize()
> package final Size _fetchClientSize()
> return Size(r.right, r.bottom);
> Size defaultSize() // getter
> return Size(0, 0);
> Size wclientsz;
> deprecated final void autoScrollMargin(Size sz) // setter
> deprecated final Size autoScrollMargin() // getter
> return Size(0, 0);
> deprecated final void autoScrollMinSize(Size sz) // setter
> deprecated final Size autoScrollMinSize() // getter
> return Size(0, 0);
> final Size autoScaleBaseSize() // getter
> final void autoScaleBaseSize(Size newSize) // setter
> static Size calcScale(Size area, Size toScale, Size fromScale) // package
> Size calcScale(Size area, Size toScale) // package
> final void _scale(Size toScale) // package
> void xscale(Control c, Size fromScale)
> Size sz;
> sz = calcScale(Size(c.left, c.top), toScale, fromScale);
> final void scrollSize(Size sz) // setter
> final Size scrollSize() // getter
> const Size DEFAULT_SCALE = { 5, 13 };
> //Size scrollmargin, scrollmin;
> Size autossz = DEFAULT_SCALE;
> Size scrollsz = { 0, 0 };
> Point opAdd(Size sz)
> Point opSub(Size sz)
> void opAddAssign(Size sz)
> void opSubAssign(Size sz)
> struct Size // docmain
> /// Construct a new Size.
> static Size opCall(int width, int height)
> Size sz;
> static Size opCall()
> Size sz;
> Dequ opEquals(Size sz)
> Size opAdd(Size sz)
> Size result;
> Size opSub(Size sz)
> Size result;
> void opAddAssign(Size sz)
> void opSubAssign(Size sz)
> Size size() //getter
> return Size(width, height);
> void size(Size sz) // setter
> static Rect opCall(Point location, Size size)
> void inflate(Size insz)
> Size size(); // getter
> final override Size size() // getter
> return Size(bm.bmWidth, bm.bmHeight);
> Size sz;
> Size sz;
> final override Size size() // getter
> Size result;
> final Size getSize(HDC hdc) // package
> return Size(getWidth(hdc), getHeight(hdc));
> final Size getSize(Graphics g)
> return Size(getWidth(g), getHeight(g));
> Size sz;
> final Size measureText(Dstring text, Font font)
> return Size(sz.cx, sz.cy);
> final Size measureText(Dstring text, Font font, int maxWidth, TextFormat fmt)
> return Size(rect.right - rect.left, rect.bottom - rect.top);
> final Size measureText(Dstring text, Font font, TextFormat fmt)
> final Size measureText(Dstring text, Font font, int maxWidth)
> final Size measureText(Dstring text, Font font)
> final Size getScaleSize(Font f)
> Size result;
> final Size size() // getter
> return Size(_w, _h);
> final override Size size() // getter
> return Size(bm.bmWidth, bm.bmHeight);
> protected override Size defaultSize() // getter
> return Size(300, 300);
> //Size csz;
> final void minimumSize(Size min) // setter
> Size changesz;
> final Size minimumSize() // getter
> final void maximumSize(Size max) // setter
> Size changesz;
> final Size maximumSize() // getter
> Size autoscaleBase;
> Size minsz, maxsz; // {0, 0} means none.
> wclientsz = Size(wrect.width - ((r.right - r.left) - wrect.width), wrect.height - ((r.bottom - r.top) - wrect.height));
> override Size defaultSize() // getter
> return Size(200, 100);
> Size tsz = g.measureText(txt, f, tfmt);
> override Size size() // getter
> final void imageSize(Size sz) // setter
> final Size imageSize() // getter
> return Size(_w, _h);
> Size preferredSize() // getter
> Size result;
> protected override Size defaultSize() // getter
> return Size(100, 23);
> Size sz;
> Size sz;
> protected override Size defaultSize() // getter
> return Size(120, 95);
> protected override Size defaultSize() // getter
> return Size(120, 95);
> clientSize = Size(0, 0);
> clientSize = Size(0, 0);
> Size isz;
> protected override Size defaultSize() // getter
> return Size(100, 23);
> override Size defaultSize() // getter
> return Size(120, 120); // ?
> override Size defaultSize() // getter
> //return Size(GetSystemMetrics(SM_CXSIZEFRAME), GetSystemMetrics(SM_CYSIZEFRAME));
> return Size(sx, sy);
> protected override Size defaultSize() // getter
> return Size(200, 200); // ?
> override Size defaultSize() // getter
> return Size(120, 23); // ?
> final Size imageSize() // getter
> return Size(16, 16); // ?
> protected override Size defaultSize() // getter
> return Size(100, 16);
> protected override Size defaultSize() // getter
> return Size(120, 100);
> USHORT cb; // Size including cb.
>
> I just don't know what the error means to be able to figure out what the problem is. Thanks for the help.
>
> josé
These are the lines with size on them:
final Size size() // getter
// Uses the actual size.
// so bail out if zero and pretend the zero size cursor was drawn.
final void size(Size sz) // setter
final Size size() // getter
return wrect.size; // struct Size, not sizeof.
// Frame change results in a new client size.
wrect.size = defaultSize;
c.size = calcScale(c.size, toScale, fromScale);
sz = calcScale(c.size, toScale, fromScale);
SIZE size; // package
Size size() //getter
void size(Size sz) // setter
static Rect opCall(Point location, Size size)
r.width = size.width;
r.height = size.height;
Size size(); // getter
return size.width;
return size.height;
final override Size size() // getter
return size.width;
return size.height;
sz = size;
sz = size;
final override Size size() // getter
// so bail out if zero and pretend the zero size icon was drawn.
final Size size() // getter
final override Size size() // getter
return size.width;
return size.height;
final float size() // getter
// TextureBrush supports any size images but requires GDI+.
// Using size of wchar so that the buffer works for ansi and unicode.
throw new DflException("Minimum size cannot be bigger than maximum size");
changesz = size;
size = changesz;
throw new DflException("Maximum size cannot be smaller than minimum size");
changesz = size;
size = changesz;
assert(0, "Image list: invalid image size");
override Size size() // getter
return partBounds.size;
if(val.size != imageSize)
assert(0, "Image list: invalid image size");
// so bail out if zero and pretend the zero size image was drawn.
AUTO_SIZE, // Control sizes to fit image size.
clientSize = img.size;
clientSize = img.size;
isz = img.size;
// Can't have size 0 (plus causes Windows to use the actual size).
// Can't have size 0 (plus causes Windows to use the actual size).
// Not casting to wDstring because a resource isn't guaranteed to be the same size.
int msize = 25; // Min size of control that's being sized from the splitter.
int mextra = 25; // Min size of the control on the opposite side.
xtb.fsStyle = TBSTYLE_AUTOSIZE | tbb._style; // TBSTYLE_AUTOSIZE factors in the text's width instead of default button size.
prevwproc(CCM_SETVERSION, 5, 0); // Fixes font size issue.
struct GUID { // size is 16
|
August 25, 2014 Re: D1: Error: duplicate union initialization for size | ||||
---|---|---|---|---|
| ||||
Posted in reply to jicman | Ok, let's try something simpler... Where can I find the D1 v1.076 compiler error meaning of, Error: duplicate union initialization for size for this line, const Size DEFAULT_SCALE = { 5, 13 }; thanks. |
August 26, 2014 Re: D1: Error: duplicate union initialization for size | ||||
---|---|---|---|---|
| ||||
Posted in reply to jicman | On 26/08/14 00:57, jicman wrote: > > Ok, let's try something simpler... Where can I find the D1 v1.076 > compiler error meaning of, > > Error: duplicate union initialization for size > > for this line, > > const Size DEFAULT_SCALE = { 5, 13 }; How does the code for Size look like? -- /Jacob Carlborg |
August 26, 2014 Re: D1: Error: duplicate union initialization for size | ||||
---|---|---|---|---|
| ||||
Posted in reply to Jacob Carlborg | On 08/25/2014 11:36 PM, Jacob Carlborg wrote: > On 26/08/14 00:57, jicman wrote: >> >> Ok, let's try something simpler... Where can I find the D1 v1.076 >> compiler error meaning of, >> >> Error: duplicate union initialization for size >> >> for this line, >> >> const Size DEFAULT_SCALE = { 5, 13 }; > > How does the code for Size look like? > In case it helps you or others to answer, the code appears in D2 as well: https://github.com/D-Programming-Language/dmd/blob/master/src/todt.c#L908 The following bug is fixed for D2, which may be the same issue: https://issues.dlang.org/show_bug.cgi?id=8902 Ali |
August 27, 2014 Re: D1: Error: duplicate union initialization for size | ||||
---|---|---|---|---|
| ||||
Posted in reply to Jacob Carlborg | On Tuesday, 26 August 2014 at 06:36:59 UTC, Jacob Carlborg wrote: > On 26/08/14 00:57, jicman wrote: >> >> Ok, let's try something simpler... Where can I find the D1 v1.076 >> compiler error meaning of, >> >> Error: duplicate union initialization for size >> >> for this line, >> >> const Size DEFAULT_SCALE = { 5, 13 }; > > How does the code for Size look like? I wish I knew. :-( Above, in this same post I pasted all lines that had Size and right below it all lines that had size. These are all the places where Size is found. If you can tell me which one you think it is, I can grab that piece of the code. Tehse are all the lines where Size is found in all the dfl library files: clientSize = Size(340, 150); final Size size() // getter Size result; Size defaultSize() // getter return Size(75, 23); override Size defaultSize() // getter return Size(120, 23); // ? final Size clientSize() // getter final void clientSize(Size sz) // setter //wclientsz = Size(width, height); final void size(Size sz) // setter final Size size() // getter return wrect.size; // struct Size, not sizeof. final Size getAutoScaleSize(Font f) Size result; final Size getAutoScaleSize() package final Size _fetchClientSize() return Size(r.right, r.bottom); Size defaultSize() // getter return Size(0, 0); Size wclientsz; deprecated final void autoScrollMargin(Size sz) // setter deprecated final Size autoScrollMargin() // getter return Size(0, 0); deprecated final void autoScrollMinSize(Size sz) // setter deprecated final Size autoScrollMinSize() // getter return Size(0, 0); final Size autoScaleBaseSize() // getter final void autoScaleBaseSize(Size newSize) // setter static Size calcScale(Size area, Size toScale, Size fromScale) // package Size calcScale(Size area, Size toScale) // package final void _scale(Size toScale) // package void xscale(Control c, Size fromScale) Size sz; sz = calcScale(Size(c.left, c.top), toScale, fromScale); final void scrollSize(Size sz) // setter final Size scrollSize() // getter const Size DEFAULT_SCALE = { 5, 13 }; //Size scrollmargin, scrollmin; Size autossz = DEFAULT_SCALE; Size scrollsz = { 0, 0 }; Point opAdd(Size sz) Point opSub(Size sz) void opAddAssign(Size sz) void opSubAssign(Size sz) struct Size // docmain /// Construct a new Size. static Size opCall(int width, int height) Size sz; static Size opCall() Size sz; Dequ opEquals(Size sz) Size opAdd(Size sz) Size result; Size opSub(Size sz) Size result; void opAddAssign(Size sz) void opSubAssign(Size sz) Size size() //getter return Size(width, height); void size(Size sz) // setter static Rect opCall(Point location, Size size) void inflate(Size insz) Size size(); // getter final override Size size() // getter return Size(bm.bmWidth, bm.bmHeight); Size sz; Size sz; final override Size size() // getter Size result; final Size getSize(HDC hdc) // package return Size(getWidth(hdc), getHeight(hdc)); final Size getSize(Graphics g) return Size(getWidth(g), getHeight(g)); Size sz; final Size measureText(Dstring text, Font font) return Size(sz.cx, sz.cy); final Size measureText(Dstring text, Font font, int maxWidth, TextFormat fmt) return Size(rect.right - rect.left, rect.bottom - rect.top); final Size measureText(Dstring text, Font font, TextFormat fmt) final Size measureText(Dstring text, Font font, int maxWidth) final Size measureText(Dstring text, Font font) final Size getScaleSize(Font f) Size result; final Size size() // getter return Size(_w, _h); final override Size size() // getter return Size(bm.bmWidth, bm.bmHeight); protected override Size defaultSize() // getter return Size(300, 300); //Size csz; final void minimumSize(Size min) // setter Size changesz; final Size minimumSize() // getter final void maximumSize(Size max) // setter Size changesz; final Size maximumSize() // getter Size autoscaleBase; Size minsz, maxsz; // {0, 0} means none. wclientsz = Size(wrect.width - ((r.right - r.left) - wrect.width), wrect.height - ((r.bottom - r.top) - wrect.height)); override Size defaultSize() // getter return Size(200, 100); Size tsz = g.measureText(txt, f, tfmt); override Size size() // getter final void imageSize(Size sz) // setter final Size imageSize() // getter return Size(_w, _h); Size preferredSize() // getter Size result; protected override Size defaultSize() // getter return Size(100, 23); Size sz; Size sz; protected override Size defaultSize() // getter return Size(120, 95); protected override Size defaultSize() // getter return Size(120, 95); clientSize = Size(0, 0); clientSize = Size(0, 0); Size isz; protected override Size defaultSize() // getter return Size(100, 23); override Size defaultSize() // getter return Size(120, 120); // ? override Size defaultSize() // getter //return Size(GetSystemMetrics(SM_CXSIZEFRAME), GetSystemMetrics(SM_CYSIZEFRAME)); return Size(sx, sy); protected override Size defaultSize() // getter return Size(200, 200); // ? override Size defaultSize() // getter return Size(120, 23); // ? final Size imageSize() // getter return Size(16, 16); // ? protected override Size defaultSize() // getter return Size(100, 16); protected override Size defaultSize() // getter return Size(120, 100); USHORT cb; // Size including cb. thanks. |
August 27, 2014 Re: D1: Error: duplicate union initialization for size | ||||
---|---|---|---|---|
| ||||
Posted in reply to jicman | On 23/08/14 19:50, jicman wrote: > This is line 7634: > > const Size DEFAULT_SCALE = { 5, 13 }; > > What does the error say and how can I fix it? Thanks. Does the following make any difference? const Size DEFAULT_SCAL = Size(5, 13) -- /Jacob Carlborg |
Copyright © 1999-2021 by the D Language Foundation