Jump to page: 1 2
Thread overview
D1: Error: duplicate union initialization for size
Aug 23, 2014
jicman
Aug 24, 2014
Kagamin
Aug 24, 2014
bearophile
Aug 24, 2014
jicman
Aug 25, 2014
jicman
Aug 25, 2014
jicman
Aug 26, 2014
Jacob Carlborg
Aug 26, 2014
Ali Çehreli
Aug 27, 2014
jicman
Aug 27, 2014
Jacob Carlborg
Aug 27, 2014
Jacob Carlborg
Aug 27, 2014
jicman
Aug 28, 2014
Jacob Carlborg
Aug 31, 2014
jicman
Aug 31, 2014
Ali Çehreli
Aug 31, 2014
Dicebot
Sep 01, 2014
Dicebot
Sep 03, 2014
jicman
Aug 31, 2014
Jacob Carlborg
August 23, 2014
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
Mybe, some fields in Size overlap. If you look at it, you may understand, what happens.
August 24, 2014
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
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
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
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
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
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
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
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
« First   ‹ Prev
1 2