[Issue 15133] New: Error message is incomprehensible
via Digitalmars-d-bugs
digitalmars-d-bugs at puremagic.com
Thu Oct 1 11:17:21 PDT 2015
https://issues.dlang.org/show_bug.cgi?id=15133
Issue ID: 15133
Summary: Error message is incomprehensible
Product: D
Version: D2
Hardware: x86_64
OS: Linux
Status: NEW
Severity: major
Priority: P1
Component: dmd
Assignee: nobody at puremagic.com
Reporter: russel at winder.org.uk
The code:
import std.algorithm: reduce;
int do_stuff(int[] data) {
return reduce!"a + b"(data);
}
void main() {
do_stuff([]);
}
results in the error message below when run with rdmd 20150923 (dmd 2.068.2).
The error message may mean something to the maintainer of the internal
implementation of std.algorithm.reduce, but the the D programmer it is
incomprehensible. The actual error message should relate to this version of
reduce not being able to deal with empty data set, that the:
reduce!"a + b"(0, data)
form is required to cover that situation.
object.Exception@/usr/include/dmd/phobos/std/algorithm/iteration.d(2477):
Enforcement failed
----------------
/tmp/.rdmd-1000/rdmd-reduce_message_problem.d-C44863E4986E9DF493BA22F7E5752792/reduce_message_problem(pure
@safe bool std.exception.enforce!(Exception, bool).enforce(bool, lazy
const(char)[], immutable(char)[], ulong)+0x65) [0x4289dd]
/tmp/.rdmd-1000/rdmd-reduce_message_problem.d-C44863E4986E9DF493BA22F7E5752792/reduce_message_problem(pure
@safe int std.algorithm.iteration.reduce!("a +
b").reduce!(int[]).reduce(int[])+0x4c) [0x428824]
/tmp/.rdmd-1000/rdmd-reduce_message_problem.d-C44863E4986E9DF493BA22F7E5752792/reduce_message_problem(int
reduce_message_problem.do_stuff(int[])+0x20) [0x4287a8]
/tmp/.rdmd-1000/rdmd-reduce_message_problem.d-C44863E4986E9DF493BA22F7E5752792/reduce_message_problem(_Dmain+0x1d)
[0x4287cd]
/tmp/.rdmd-1000/rdmd-reduce_message_problem.d-C44863E4986E9DF493BA22F7E5752792/reduce_message_problem(_D2rt6dmain211_d_run_mainUiPPaPUAAaZiZ6runAllMFZ9__lambda1MFZv+0x1f)
[0x42c623]
/tmp/.rdmd-1000/rdmd-reduce_message_problem.d-C44863E4986E9DF493BA22F7E5752792/reduce_message_problem(void
rt.dmain2._d_run_main(int, char**, extern (C) int
function(char[][])*).tryExec(scope void delegate())+0x2a) [0x42c57e]
/tmp/.rdmd-1000/rdmd-reduce_message_problem.d-C44863E4986E9DF493BA22F7E5752792/reduce_message_problem(void
rt.dmain2._d_run_main(int, char**, extern (C) int
function(char[][])*).runAll()+0x2b) [0x42c5df]
/tmp/.rdmd-1000/rdmd-reduce_message_problem.d-C44863E4986E9DF493BA22F7E5752792/reduce_message_problem(void
rt.dmain2._d_run_main(int, char**, extern (C) int
function(char[][])*).tryExec(scope void delegate())+0x2a) [0x42c57e]
/tmp/.rdmd-1000/rdmd-reduce_message_problem.d-C44863E4986E9DF493BA22F7E5752792/reduce_message_problem(_d_run_main+0x1d2)
[0x42c4fe]
/tmp/.rdmd-1000/rdmd-reduce_message_problem.d-C44863E4986E9DF493BA22F7E5752792/reduce_message_problem(main+0x12)
[0x428d1a]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf5) [0x7ff78b82cb45]
--
More information about the Digitalmars-d-bugs
mailing list