Thread overview
COMDAT error
Jan 26, 2017
Profile Anaysis
Jan 26, 2017
John Colvin
Jan 27, 2017
Jesse Phillips
January 26, 2017
test1.obj : fatal error LNK1179: invalid or corrupt file: duplicate COMDAT '_D4main4mainFAAyaZ16__T3recVii1TAAiZ3recMFNfAAiZv (@safe void main.main(immutable(char)[][]).rec!(1, int[][]).rec(int[][]))'



code


import std.stdio;

import std.traits, std.meta, std.conv, std.string, std.algorithm;

void main(string[] argv)
{

	
	alias mods = AliasSeq!("[]","[1]","[2]","[3]","[4]");

	
	foreach(i, m1; mods)
		foreach(j, m2; mods)
			foreach(k, m3; mods)
			{

				enum s = "int"~m1~m2~m3~" arr;\n";
				//pragma(msg, s);
				mixin(s);				
				
				write(`(`,i,`,`,j,`,`,k,`) | `,(m1~m2~m3).replace("[]", "[-]"), ` | T = `, typeof(arr).stringof[3..$].replace(`[]`, `[-]`), ` | SA = `, isStaticArray!(typeof(arr)));

				write(" | ");

				// Writes out dimensions
				void rec(int N = 0, T)(T arr)
				{									
					
					auto x = arr[0];
					write(isStaticArray!(typeof(x)), ",");													
					static if (N < 2)
						rec!(N + 1)(x);
				}

				rec(arr);

				writeln();
			}

	


	getchar();	
}

January 26, 2017
On Thursday, 26 January 2017 at 11:20:34 UTC, Profile Anaysis wrote:
> test1.obj : fatal error LNK1179: invalid or corrupt file: duplicate COMDAT '_D4main4mainFAAyaZ16__T3recVii1TAAiZ3recMFNfAAiZv (@safe void main.main(immutable(char)[][]).rec!(1, int[][]).rec(int[][]))'
>
> [...]

Thanks for sharing the problem. Bug reports should go in https://issues.dlang.org/
January 27, 2017
On Thursday, 26 January 2017 at 11:20:34 UTC, Profile Anaysis wrote:
> test1.obj : fatal error LNK1179: invalid or corrupt file: duplicate COMDAT '_D4main4mainFAAyaZ16__T3recVii1TAAiZ3recMFNfAAiZv (@safe void main.main(immutable(char)[][]).rec!(1, int[][]).rec(int[][]))'

Not sure but you may have hit this bug:

https://issues.dlang.org/show_bug.cgi?id=16687