Thread overview | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
|
November 25, 2013 std.range.chain bug? | ||||
---|---|---|---|---|
| ||||
This isn't compiles. Bug? import std.range; class Foo {} void main() { immutable(Foo)[] a; immutable(Foo)[] b; auto c = chain(a, b).length; } http://dpaste.dzfl.pl/71272a10 |
November 25, 2013 Re: std.range.chain bug? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Jack Applegame | *doesn't compile |
November 25, 2013 Re: std.range.chain bug? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Jack Applegame | On Monday, 25 November 2013 at 19:38:44 UTC, Jack Applegame wrote:
> This isn't compiles. Bug?
Yes, and a trivially trivial bug at that. File it and I'll fix it.
|
November 25, 2013 Re: std.range.chain bug? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Jack Applegame | On Monday, 25 November 2013 at 19:38:44 UTC, Jack Applegame wrote:
> This isn't compiles. Bug?
>
> import std.range;
> class Foo {}
> void main() {
> immutable(Foo)[] a;
> immutable(Foo)[] b;
> auto c = chain(a, b).length;
> }
>
> http://dpaste.dzfl.pl/71272a10
Seems like a bug to me. If Foo where a string I'd expect it to fail, but what you have looks reasonable.
|
November 25, 2013 Re: std.range.chain bug? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Jesse Phillips | On Monday, 25 November 2013 at 21:04:43 UTC, Jesse Phillips wrote:
> On Monday, 25 November 2013 at 19:38:44 UTC, Jack Applegame wrote:
>> This isn't compiles. Bug?
>>
>> import std.range;
>> class Foo {}
>> void main() {
>> immutable(Foo)[] a;
>> immutable(Foo)[] b;
>> auto c = chain(a, b).length;
>> }
>>
>> http://dpaste.dzfl.pl/71272a10
>
> Seems like a bug to me. If Foo where a string I'd expect it to fail, but what you have looks reasonable.
Really? Why? As a matter of fact, it *works* with string...
|
November 25, 2013 Re: std.range.chain bug? | ||||
---|---|---|---|---|
| ||||
Posted in reply to monarch_dodra | On Monday, November 25, 2013 22:08:37 monarch_dodra wrote:
> On Monday, 25 November 2013 at 21:04:43 UTC, Jesse Phillips wrote:
> > On Monday, 25 November 2013 at 19:38:44 UTC, Jack Applegame
> >
> > wrote:
> >> This isn't compiles. Bug?
> >>
> >> import std.range;
> >> class Foo {}
> >> void main() {
> >>
> >> immutable(Foo)[] a;
> >> immutable(Foo)[] b;
> >> auto c = chain(a, b).length;
> >>
> >> }
> >>
> >> http://dpaste.dzfl.pl/71272a10
> >
> > Seems like a bug to me. If Foo where a string I'd expect it to fail, but what you have looks reasonable.
>
> Really? Why? As a matter of fact, it *works* with string...
What works with string? chain(a, b).length had better not work if either a or b is a string, because hasLength is false for narrow strings.
- Jonathan M Davis
|
November 26, 2013 Re: std.range.chain bug? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Jonathan M Davis | On Monday, 25 November 2013 at 23:44:26 UTC, Jonathan M Davis wrote:
> On Monday, November 25, 2013 22:08:37 monarch_dodra wrote:
>> On Monday, 25 November 2013 at 21:04:43 UTC, Jesse Phillips wrote:
>> > On Monday, 25 November 2013 at 19:38:44 UTC, Jack Applegame
>> >
>> > wrote:
>> >> This isn't compiles. Bug?
>> >>
>> >> import std.range;
>> >> class Foo {}
>> >> void main() {
>> >>
>> >> immutable(Foo)[] a;
>> >> immutable(Foo)[] b;
>> >> auto c = chain(a, b).length;
>> >>
>> >> }
>> >>
>> >> http://dpaste.dzfl.pl/71272a10
>> >
>> > Seems like a bug to me. If Foo where a string I'd expect it to
>> > fail, but what you have looks reasonable.
>>
>> Really? Why? As a matter of fact, it *works* with string...
>
> What works with string? chain(a, b).length had better not work if either a or
> b is a string, because hasLength is false for narrow strings.
>
> - Jonathan M Davis
Right, but he said "Foo":
import std.range;
alias Foo = string;
void main() {
immutable(Foo)[] a;
immutable(Foo)[] b;
auto c = chain(a, b).length;
}
|
November 26, 2013 Re: std.range.chain bug? | ||||
---|---|---|---|---|
| ||||
Posted in reply to monarch_dodra | On Monday, 25 November 2013 at 20:54:21 UTC, monarch_dodra wrote: > > Yes, and a trivially trivial bug at that. File it and I'll fix it. https://d.puremagic.com/issues/show_bug.cgi?id=11607 |
November 27, 2013 Re: std.range.chain bug? | ||||
---|---|---|---|---|
| ||||
Posted in reply to monarch_dodra | On Tuesday, 26 November 2013 at 06:55:40 UTC, monarch_dodra wrote:
> Right, but he said "Foo":
>
> import std.range;
> alias Foo = string;
> void main() {
> immutable(Foo)[] a;
> immutable(Foo)[] b;
> auto c = chain(a, b).length;
> }
Yes, my mistake, array of string should be fine. I was trying to think of a situation it shouldn't work, identified it wrong.
|
Copyright © 1999-2021 by the D Language Foundation