Bug 3260 – "Error: undefined identifier backend" when compiling 'write' with 'wchar'

Status
RESOLVED
Resolution
FIXED
Severity
critical
Priority
P2
Component
phobos
Product
D
Version
D2
Platform
x86
OS
Linux
Creation time
2009-08-19T15:10:00Z
Last change time
2015-06-09T01:28:05Z
Keywords
rejects-valid
Assigned to
andrei
Creator
acehreli

Comments

Comment #0 by acehreli — 2009-08-19T15:10:42Z
Fails to compile the following program: import std.stdio; void main() { wchar c = 'a'; write(c); } Compiler output: dmd -w deneme.d /home/acehreli/dmd/linux/bin/../../src/phobos/std/stdio.d(924): Error: undefined identifier backend /home/acehreli/dmd/linux/bin/../../src/phobos/std/stdio.d(924): Error: function std.stdio.fputc_unlocked (int, _iobuf*) does not match parameter types (wchar,int) /home/acehreli/dmd/linux/bin/../../src/phobos/std/stdio.d(924): Error: cannot implicitly convert expression (backend) of type int to _iobuf* /home/acehreli/dmd/linux/bin/../../src/phobos/std/stdio.d(931): Error: undefined identifier backend /home/acehreli/dmd/linux/bin/../../src/phobos/std/stdio.d(931): Error: function std.stdio.fputc_unlocked (int, _iobuf*) does not match parameter types (char,int) /home/acehreli/dmd/linux/bin/../../src/phobos/std/stdio.d(931): Error: cannot implicitly convert expression (backend) of type int to _iobuf* /home/acehreli/dmd/linux/bin/../../src/phobos/std/stdio.d(936): Error: undefined identifier backend /home/acehreli/dmd/linux/bin/../../src/phobos/std/stdio.d(936): Error: function std.stdio.fputwc_unlocked (dchar, _iobuf*) does not match parameter types (wchar,int) /home/acehreli/dmd/linux/bin/../../src/phobos/std/stdio.d(936): Error: cannot implicitly convert expression (backend) of type int to _iobuf* /home/acehreli/dmd/linux/bin/../../src/phobos/std/stdio.d(1992): Error: template instance std.stdio.File.LockingTextWriter.put!(wchar) error instantiating
Comment #1 by andrei — 2009-08-19T23:59:42Z
Thanks for the report.
Comment #2 by andrei — 2009-08-27T08:51:08Z
Fix coming with the next release of Phobos.