[Issue 18796] New: std.algorithm.substitute asserts on empty range

d-bugmail at puremagic.com d-bugmail at puremagic.com
Wed Apr 25 02:36:10 UTC 2018


https://issues.dlang.org/show_bug.cgi?id=18796

          Issue ID: 18796
           Summary: std.algorithm.substitute asserts on empty range
           Product: D
           Version: D2
          Hardware: x86_64
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P1
         Component: phobos
          Assignee: nobody at puremagic.com
          Reporter: crimaniak at gmail.com

Code:

unittest
{
    import std.algorithm: substitute, equal;
    assert("".substitute!("a","b").equal(""));
}

Expectation: test passed

Actual result:

core.exception.AssertError@/usr/include/dmd/phobos/std/algorithm/iteration.d(4901):
Attempting to popFront an empty substitute.
----------------
??:? _d_assert_msg [0x42de16]
??:? pure @safe void
std.algorithm.iteration.substitute!(std.algorithm.iteration.__lambda167,
immutable(char)[], immutable(char)[], immutable(char)[]).substitut]
??:? pure ref @safe
std.algorithm.iteration.substitute!(std.algorithm.iteration.__lambda167,
immutable(char)[], immutable(char)[], immutable(char)[]).substitute]
??:? pure @safe
std.algorithm.iteration.joiner!(std.algorithm.iteration.MapResult!(std.algorithm.iteration.substitute!(std.algorithm.iteration.__lambda167,
immu]
??:? pure @safe
std.algorithm.iteration.joiner!(std.algorithm.iteration.MapResult!(std.algorithm.iteration.substitute!(std.algorithm.iteration.__lambda167,
immu]
??:? void substitute.__unittest_L1_C1() [0x42afa8]
??:? void substitute.__modtest() [0x42d018]
??:? int core.runtime.runModuleUnitTests().__foreachbody2(object.ModuleInfo*)
[0x43354b]
??:? int object.ModuleInfo.opApply(scope int
delegate(object.ModuleInfo*)).__lambda2(immutable(object.ModuleInfo*))
[0x42dbfe]
??:? int rt.minfo.moduleinfos_apply(scope int
delegate(immutable(object.ModuleInfo*))).__foreachbody2(ref
rt.sections_elf_shared.DSO) [0x4300e9]
??:? int rt.sections_elf_shared.DSO.opApply(scope int delegate(ref
rt.sections_elf_shared.DSO)) [0x430178]
??:? int rt.minfo.moduleinfos_apply(scope int
delegate(immutable(object.ModuleInfo*))) [0x430075]
??:? int object.ModuleInfo.opApply(scope int delegate(object.ModuleInfo*))
[0x42dbd5]
??:? runModuleUnitTests [0x433321]
??:? void rt.dmain2._d_run_main(int, char**, extern (C) int
function(char[][])*).runAll() [0x42e3c0]
??:? void rt.dmain2._d_run_main(int, char**, extern (C) int
function(char[][])*).tryExec(scope void delegate()) [0x42e347]
??:? _d_run_main [0x42e2b2]
??:? main [0x42d033]
??:? __libc_start_main [0xe29d382f]
1/1 unittests FAILED

--


More information about the Digitalmars-d-bugs mailing list