digitalmars.D.learn - writeln(Range) fails on 2.058
- simendsjo (25/25) Feb 15 2012 import std.array;
- simendsjo (16/41) Feb 15 2012 Seems the issue is triggered by using *char front(). Other types still w...
- simendsjo (14/62) Feb 17 2012 Ping?
- simendsjo (6/76) Feb 17 2012 Ok, the changelog doesn't state any changes to formating, but other stuf...
-
Timon Gehr
(3/82)
Feb 17 2012
The LockingTextWriter thing is a regression, the #{overlap
- simendsjo (3/90) Feb 17 2012 But I liked that it spit out my union... :|
import std.array; import std.stdio; struct S { string txt; void popFront() { txt.popFront(); } property dchar front() { return txt.front; } property bool empty() { return txt.empty; } } void main() { S s; writeln(s); // range.d(295): Error: static assert "Cannot put a S into a LockingTextWriter" } I haven't read the whole changelog yet, so this might not be a bug. Pretty convenient when it worked though..
Feb 15 2012
On 02/15/2012 09:33 AM, simendsjo wrote:import std.array; import std.stdio; struct S { string txt; void popFront() { txt.popFront(); } property dchar front() { return txt.front; } property bool empty() { return txt.empty; } } void main() { S s; writeln(s); // range.d(295): Error: static assert "Cannot put a S into a LockingTextWriter" } I haven't read the whole changelog yet, so this might not be a bug. Pretty convenient when it worked though..Seems the issue is triggered by using *char front(). Other types still work. import std.stdio; struct S { void popFront() { } property char front() { return 'a'; } property bool empty() { return false; } } void main() { writeln(S()); // range.d(295): Error: static assert "Cannot put a S into a LockingTextWriter" }
Feb 15 2012
On Wed, 15 Feb 2012 11:10:45 +0100, simendsjo <simendsjo gmail.com> wrote:On 02/15/2012 09:33 AM, simendsjo wrote:Ping? range.d(295): Error: static assert "Cannot put a S into a LockingTextWriter" format.d(1509): instantiated from here: put!(LockingTextWriter,S) format.d(1984): instantiated from here: formatRange!(LockingTextWriter,S,char) format.d(2228): instantiated from here: formatValue!(LockingTextWriter,S,char) format.d(319): instantiated from here: formatGeneric!(LockingTextWriter,S,char) stdio.d(684): instantiated from here: formattedWrite!(LockingTextWriter,char,S) stdio.d(1563): instantiated from here: write!(S,char)import std.array; import std.stdio; struct S { string txt; void popFront() { txt.popFront(); } property dchar front() { return txt.front; } property bool empty() { return txt.empty; } } void main() { S s; writeln(s); // range.d(295): Error: static assert "Cannot put a S into a LockingTextWriter" } I haven't read the whole changelog yet, so this might not be a bug. Pretty convenient when it worked though..Seems the issue is triggered by using *char front(). Other types still work. import std.stdio; struct S { void popFront() { } property char front() { return 'a'; } property bool empty() { return false; } } void main() { writeln(S()); // range.d(295): Error: static assert "Cannot put a S into a LockingTextWriter" }
Feb 17 2012
On Fri, 17 Feb 2012 12:51:11 +0100, simendsjo <simendsjo gmail.com> wrote:On Wed, 15 Feb 2012 11:10:45 +0100, simendsjo <simendsjo gmail.com> wrote:Ok, the changelog doesn't state any changes to formating, but other stuff has changed too. actual union values as in 2.057. Should I report these as regressions as the changelog doesn't mention them?On 02/15/2012 09:33 AM, simendsjo wrote:Ping? range.d(295): Error: static assert "Cannot put a S into a LockingTextWriter" format.d(1509): instantiated from here: put!(LockingTextWriter,S) format.d(1984): instantiated from here: formatRange!(LockingTextWriter,S,char) format.d(2228): instantiated from here: formatValue!(LockingTextWriter,S,char) format.d(319): instantiated from here: formatGeneric!(LockingTextWriter,S,char) stdio.d(684): instantiated from here: formattedWrite!(LockingTextWriter,char,S) stdio.d(1563): instantiated from here: write!(S,char)import std.array; import std.stdio; struct S { string txt; void popFront() { txt.popFront(); } property dchar front() { return txt.front; } property bool empty() { return txt.empty; } } void main() { S s; writeln(s); // range.d(295): Error: static assert "Cannot put a S into a LockingTextWriter" } I haven't read the whole changelog yet, so this might not be a bug. Pretty convenient when it worked though..Seems the issue is triggered by using *char front(). Other types still work. import std.stdio; struct S { void popFront() { } property char front() { return 'a'; } property bool empty() { return false; } } void main() { writeln(S()); // range.d(295): Error: static assert "Cannot put a S into a LockingTextWriter" }
Feb 17 2012
On 02/17/2012 12:58 PM, simendsjo wrote:On Fri, 17 Feb 2012 12:51:11 +0100, simendsjo <simendsjo gmail.com> wrote:here>} is part of a (possibly unlisted?) bugfix by Kenji Hara.On Wed, 15 Feb 2012 11:10:45 +0100, simendsjo <simendsjo gmail.com> wrote:Ok, the changelog doesn't state any changes to formating, but other stuff has changed too. actual union values as in 2.057. Should I report these as regressions as the changelog doesn't mention them?On 02/15/2012 09:33 AM, simendsjo wrote:Ping? range.d(295): Error: static assert "Cannot put a S into a LockingTextWriter" format.d(1509): instantiated from here: put!(LockingTextWriter,S) format.d(1984): instantiated from here: formatRange!(LockingTextWriter,S,char) format.d(2228): instantiated from here: formatValue!(LockingTextWriter,S,char) format.d(319): instantiated from here: formatGeneric!(LockingTextWriter,S,char) stdio.d(684): instantiated from here: formattedWrite!(LockingTextWriter,char,S) stdio.d(1563): instantiated from here: write!(S,char)import std.array; import std.stdio; struct S { string txt; void popFront() { txt.popFront(); } property dchar front() { return txt.front; } property bool empty() { return txt.empty; } } void main() { S s; writeln(s); // range.d(295): Error: static assert "Cannot put a S into a LockingTextWriter" } I haven't read the whole changelog yet, so this might not be a bug. Pretty convenient when it worked though..Seems the issue is triggered by using *char front(). Other types still work. import std.stdio; struct S { void popFront() { } property char front() { return 'a'; } property bool empty() { return false; } } void main() { writeln(S()); // range.d(295): Error: static assert "Cannot put a S into a LockingTextWriter" }
Feb 17 2012
On Fri, 17 Feb 2012 14:44:15 +0100, Timon Gehr <timon.gehr gmx.ch> wrote:On 02/17/2012 12:58 PM, simendsjo wrote:But I liked that it spit out my union... :| http://d.puremagic.com/issues/show_bug.cgi?id=7531On Fri, 17 Feb 2012 12:51:11 +0100, simendsjo <simendsjo gmail.com> wrote:here>} is part of a (possibly unlisted?) bugfix by Kenji Hara.On Wed, 15 Feb 2012 11:10:45 +0100, simendsjo <simendsjo gmail.com> wrote:Ok, the changelog doesn't state any changes to formating, but other stuff has changed too. actual union values as in 2.057. Should I report these as regressions as the changelog doesn't mention them?On 02/15/2012 09:33 AM, simendsjo wrote:Ping? range.d(295): Error: static assert "Cannot put a S into a LockingTextWriter" format.d(1509): instantiated from here: put!(LockingTextWriter,S) format.d(1984): instantiated from here: formatRange!(LockingTextWriter,S,char) format.d(2228): instantiated from here: formatValue!(LockingTextWriter,S,char) format.d(319): instantiated from here: formatGeneric!(LockingTextWriter,S,char) stdio.d(684): instantiated from here: formattedWrite!(LockingTextWriter,char,S) stdio.d(1563): instantiated from here: write!(S,char)import std.array; import std.stdio; struct S { string txt; void popFront() { txt.popFront(); } property dchar front() { return txt.front; } property bool empty() { return txt.empty; } } void main() { S s; writeln(s); // range.d(295): Error: static assert "Cannot put a S into a LockingTextWriter" } I haven't read the whole changelog yet, so this might not be a bug. Pretty convenient when it worked though..Seems the issue is triggered by using *char front(). Other types still work. import std.stdio; struct S { void popFront() { } property char front() { return 'a'; } property bool empty() { return false; } } void main() { writeln(S()); // range.d(295): Error: static assert "Cannot put a S into a LockingTextWriter" }
Feb 17 2012