Open jordisayol opened 11 years ago
That's yet another compiler bug.
I got these errors compiling with the last dmd 2.061 beta on Linux:
$ dmd -c -O -m64 -ofobj/64/spiritd/parsers/xmlGrammar.o spiritd/parsers/xmlGrammar.d
spiritd/rule.d(14): Error: class spiritd.rule.rule!(scanner).rule identity assignment operator overload is illegal
spiritd/parsers/xmlGrammar.d(41): Error: template instance spiritd.rule.rule!(scanner) error instantiating
spiritd/grammar.d(21): instantiated from here: definition!(scanner)
spiritd/impl/parse.d(34): instantiated from here: parse!(scanner)
spiritd/ver/parsev2.d(26): instantiated from here: parseImpl!(char, immutable(char)*, svgGrammar, whiteSpace)
spiritd/parsers/xmlGrammar.d(28): instantiated from here: parse!(svgGrammar, whiteSpace)
spiritd/grammar.d(21): Error: template instance spiritd.parsers.xmlGrammar.svgGrammar.definition!(scanner) error instantiating
spiritd/impl/parse.d(34): instantiated from here: parse!(scanner)
spiritd/ver/parsev2.d(26): instantiated from here: parseImpl!(char, immutable(char)*, svgGrammar, whiteSpace)
spiritd/parsers/xmlGrammar.d(28): instantiated from here: parse!(svgGrammar, whiteSpace)
spiritd/impl/parse.d(34): Error: template instance spiritd.grammar.grammar!(svgGrammar).grammar.parse!(scanner) error instantiating
spiritd/ver/parsev2.d(26): instantiated from here: parseImpl!(char, immutable(char)*, svgGrammar, whiteSpace)
spiritd/parsers/xmlGrammar.d(28): instantiated from here: parse!(svgGrammar, whiteSpace)
spiritd/ver/parsev2.d(26): Error: template instance spiritd.impl.parse.parseImpl!(char, immutable(char)*, svgGrammar, whiteSpace) error instantiating
spiritd/parsers/xmlGrammar.d(28): instantiated from here: parse!(svgGrammar, whiteSpace)
spiritd/parsers/xmlGrammar.d(28): Error: template instance spiritd.ver.parsev2.parse!(svgGrammar, whiteSpace) error instantiating
That's a compiler bug. There's no way it should be confusing a template'd assignment operator as identity operator.
On 27 December 2012 11:22, jordisayol notifications@github.com wrote:
I got these errors compiling with the last dmd 2.061 beta on Linux:
$ dmd -c -O -m64 -ofobj/64/spiritd/parsers/xmlGrammar.o spiritd/parsers/xmlGrammar.d spiritd/rule.d(14): Error: class spiritd.rule.rule!(scanner).rule identity assignment operator overload is illegal spiritd/parsers/xmlGrammar.d(41): Error: template instance spiritd.rule.rule!(scanner) error instantiating spiritd/grammar.d(21): instantiated from here: definition!(scanner) spiritd/impl/parse.d(34): instantiated from here: parse!(scanner) spiritd/ver/parsev2.d(26): instantiated from here: parseImpl!(char, immutable(char), svgGrammar, whiteSpace) spiritd/parsers/xmlGrammar.d(28): instantiated from here: parse!(svgGrammar, whiteSpace) spiritd/grammar.d(21): Error: template instance spiritd.parsers.xmlGrammar.svgGrammar.definition!(scanner) error instantiating spiritd/impl/parse.d(34): instantiated from here: parse!(scanner) spiritd/ver/parsev2.d(26): instantiated from here: parseImpl!(char, immutable(char), svgGrammar, whiteSpace) spiritd/parsers/xmlGrammar.d(28): instantiated from here: parse!(svgGrammar, whiteSpace) spiritd/impl/parse.d(34): Error: template instance spiritd.grammar.grammar!(svgGrammar).grammar.parse!(scanner) error instantiating spiritd/ver/parsev2.d(26): instantiated from here: parseImpl!(char, immutable(char), svgGrammar, whiteSpace) spiritd/parsers/xmlGrammar.d(28): instantiated from here: parse!(svgGrammar, whiteSpace) spiritd/ver/parsev2.d(26): Error: template instance spiritd.impl.parse.parseImpl!(char, immutable(char), svgGrammar, whiteSpace) error instantiating spiritd/parsers/xmlGrammar.d(28): instantiated from here: parse!(svgGrammar, whiteSpace) spiritd/parsers/xmlGrammar.d(28): Error: template instance spiritd.ver.parsev2.parse!(svgGrammar, whiteSpace) error instantiating
— Reply to this email directly or view it on GitHubhttps://github.com/div0/spiritd/issues/2#issuecomment-11705995.
dmd v2.061 final release still raise these errors. If there is not a way to override them, spiritd will be not usable till the next dmd release