Bug 13393 – [REG2.067a] std.algorithm.joiner Assertion failure in popFront() when using with cartesianProduct

Status
RESOLVED
Resolution
FIXED
Severity
regression
Priority
P1
Component
phobos
Product
D
Version
D2
Platform
All
OS
All
Creation time
2014-08-28T11:14:00Z
Last change time
2014-08-29T22:15:36Z
Keywords
pull
Assigned to
nobody
Creator
mrsmith33

Comments

Comment #0 by mrsmith33 — 2014-08-28T11:14:29Z
Here is a reduced test case. ------------------------------------------------------- import std.algorithm; import std.range; import std.stdio; void main() { [cartesianProduct([0],[0],[0])].joiner.writeln; } ------------------------------------------------------- Fails with core.exception.AssertError@std\algorithm.d(3804): Assertion failure in popFront() in pure nothrow @nogc @safe void std.algorithm.joiner!(std.algorithm.cartesianProduct!(int[], int[], int[]).cartesianProduct(int[], int[], int[]).Result[]).joiner(std.algorithm.cartesianProduct!(int[], int[], int[]).cartesianProduct(int[], int[], int[]).Result[]).Result.popFront() at D:\D\dmd2\windows\bin\..\import\std\algorithm.d(3805) 0x004020CA in _Dmain at D:\test\main2.d(7) Tested with phobos commit f0e9039227ee0fee664cde2d29a733cc69873912 Current master on dpaste works fine http://dpaste.dzfl.pl/b2ced50be1a6
Comment #1 by k.hara.pg — 2014-08-28T14:14:02Z
It is git-head only (2.067-alpha) regression.
Comment #2 by hsteoh — 2014-08-28T23:33:14Z
Found offending commit: 5f0155b0c8c2ff807debcf3a33a12da3ee744fb8 (merged by https://github.com/D-Programming-Language/phobos/pull/2328).
Comment #3 by hsteoh — 2014-08-28T23:53:13Z
Comment #4 by github-bugzilla — 2014-08-29T22:10:32Z
Commit pushed to master at https://github.com/D-Programming-Language/phobos https://github.com/D-Programming-Language/phobos/commit/dd4b204d5b19bb7a5d4ebe50afb31b3c15068132 Merge pull request #2473 from quickfur/issue13393 Fix regression 13393: cartesianProduct + joiner = runtime assertion failure