Thread overview
Problems with -checkaction=context
Mar 26, 2019
Per Nordlöw
Mar 26, 2019
Per Nordlöw
Mar 27, 2019
Basile B.
Mar 27, 2019
Kagamin
Mar 27, 2019
Per Nordlöw
Mar 27, 2019
Per Nordlöw
Mar 26, 2019
Per Nordlöw
Mar 27, 2019
Per Nordlöw
Mar 27, 2019
kinke
March 26, 2019
Compiling


import std.experimental.all;

@safe pure nothrow @nogc unittest
{
    assert(1 == 3);
}

with ldmd2 version 1.15.0-beta2 as

    ldmd2 -vcolumns -checkaction=context -unittest foo.d

errors as

/home/per/.local/ldc2-1.15.0-beta2-linux-x86_64/bin/../import/object.d(4903,12): Error: cannot implicitly convert expression `buffer` of type `char[]` to `string`
/home/per/.local/ldc2-1.15.0-beta2-linux-x86_64/bin/../import/std/format.d(1246,16): Error: template instance `object._d_assert_fail!("==", char[], string)` error instantiating
/home/per/.local/ldc2-1.15.0-beta2-linux-x86_64/bin/../import/std/bigint.d(924,70):        instantiated from here: `FormatSpec!char`
/home/per/.local/ldc2-1.15.0-beta2-linux-x86_64/bin/../import/std/complex.d(874,1): Error: template instance `std.complex.Complex!real` error instantiating


And with dmd v2.085.1-beta.1 as

    dmd -vcolumns -checkaction=context -unittest foo.d

it errors in similar way

/usr/include/dmd/druntime/import/object.d(4845,12): Error: cannot implicitly convert expression `buffer` of type `char[]` to `string`
/usr/include/dmd/phobos/std/format.d(1246,16): Error: template instance `object._d_assert_fail!("==", char[], string)` error instantiating
/usr/include/dmd/phobos/std/bigint.d(924,70):        instantiated from here: `FormatSpec!char`
/usr/include/dmd/phobos/std/complex.d(874,1): Error: template instance `std.complex.Complex!real` error instantiating

March 26, 2019
On Tuesday, 26 March 2019 at 10:47:18 UTC, Per Nordlöw wrote:
> Compiling

Has anybody filed a bugzilla for this issue?
March 26, 2019
On Tuesday, 26 March 2019 at 10:47:18 UTC, Per Nordlöw wrote:
> Compiling
>
> import std.experimental.all;
>
> @safe pure nothrow @nogc unittest
> {
>     assert(1 == 3);
> }

Note that code compiles and runs correctly if the import is removed.
March 27, 2019
On Tuesday, 26 March 2019 at 10:47:18 UTC, Per Nordlöw wrote:
> errors as
>
> /home/per/.local/ldc2-1.15.0-beta2-linux-x86_64/bin/../import/object.d(4903,12): Error: cannot implicitly convert expression `buffer` of type `char[]` to `string`

Code compiles when I qualify `_d_assert_fail` as `@trusted` and replace its return statement with

    return cast(string)castbuffer;

But then ldmd2 crashes as

/home/per/.local/ldc2-1.15.0-beta2-linux-x86_64/bin/ldc2(_ZN4llvm3sys15PrintStackTraceERNS_11raw_ostreamE+0x2a)[0x2d619ca]
/home/per/.local/ldc2-1.15.0-beta2-linux-x86_64/bin/ldc2(_ZN4llvm3sys17RunSignalHandlersEv+0x4c)[0x2d5f94c]
/home/per/.local/ldc2-1.15.0-beta2-linux-x86_64/bin/ldc2[0x2d5fab7]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x12890)[0x7fc9d4f45890]
/home/per/.local/ldc2-1.15.0-beta2-linux-x86_64/bin/ldc2(_ZN25ExpressionSemanticVisitor5visitEP9AssertExp+0x44e)[0xcc67fe]
/home/per/.local/ldc2-1.15.0-beta2-linux-x86_64/bin/ldc2(_ZN24StatementSemanticVisitor5visitEP12ExpStatement+0x62)[0xb911b2]
/home/per/.local/ldc2-1.15.0-beta2-linux-x86_64/bin/ldc2(_ZN24StatementSemanticVisitor5visitEP17CompoundStatement+0x130)[0xb91b30]
/home/per/.local/ldc2-1.15.0-beta2-linux-x86_64/bin/ldc2(_ZN24StatementSemanticVisitor5visitEP19TryFinallyStatement+0x3d)[0xbb14fd]
/home/per/.local/ldc2-1.15.0-beta2-linux-x86_64/bin/ldc2(_ZN24StatementSemanticVisitor5visitEP17CompoundStatement+0xc4c)[0xb9264c]
/home/per/.local/ldc2-1.15.0-beta2-linux-x86_64/bin/ldc2(_ZN16Semantic3Visitor5visitEP15FuncDeclaration+0x1832)[0xbc7752]
/home/per/.local/ldc2-1.15.0-beta2-linux-x86_64/bin/ldc2(_ZN16Semantic3Visitor5visitEP17AttribDeclaration+0x7e)[0xbd029e]
/home/per/.local/ldc2-1.15.0-beta2-linux-x86_64/bin/ldc2(_ZN16Semantic3Visitor5visitEP17AttribDeclaration+0x7e)[0xbd029e]
/home/per/.local/ldc2-1.15.0-beta2-linux-x86_64/bin/ldc2(_ZN16Semantic3Visitor5visitEP17AttribDeclaration+0x7e)[0xbd029e]
/home/per/.local/ldc2-1.15.0-beta2-linux-x86_64/bin/ldc2(_ZN16Semantic3Visitor5visitEP20AggregateDeclaration+0x8d)[0xbd036d]
/home/per/.local/ldc2-1.15.0-beta2-linux-x86_64/bin/ldc2(_ZN16Semantic3Visitor5visitEP16TemplateInstance+0x142)[0xbc52a2]
/home/per/.local/ldc2-1.15.0-beta2-linux-x86_64/bin/ldc2(_ZN16Semantic3Visitor5visitEP6Module+0x95)[0xbc5b05]
/home/per/.local/ldc2-1.15.0-beta2-linux-x86_64/bin/ldc2(_Z13mars_mainBodyR5ParamR5ArrayIPKcES5_+0xdf7)[0xc3cbd7]
/home/per/.local/ldc2-1.15.0-beta2-linux-x86_64/bin/ldc2(_Z7cppmainiPPc+0x17d6)[0xe52676]
/home/per/.local/ldc2-1.15.0-beta2-linux-x86_64/bin/ldc2(void rt.dmain2._d_run_main(int, char**, extern (C) int function(char[][])*).runAll()+0x50)[0x2fa46a0]
/home/per/.local/ldc2-1.15.0-beta2-linux-x86_64/bin/ldc2(_d_run_main+0x218)[0x2fa44b8]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xe7)[0x7fc9d41ecb97]
/home/per/.local/ldc2-1.15.0-beta2-linux-x86_64/bin/ldc2(_start+0x29)[0xb51939]
Error: Error executing /home/per/.local/ldc2-1.15.0-beta2-linux-x86_64/bin/ldc2: Segmentation fault (core dumped)

March 27, 2019
On Tuesday, 26 March 2019 at 10:54:29 UTC, Per Nordlöw wrote:
> On Tuesday, 26 March 2019 at 10:47:18 UTC, Per Nordlöw wrote:
>> Compiling
>
> Has anybody filed a bugzilla for this issue?

No, you should.
March 27, 2019
https://issues.dlang.org/show_bug.cgi?id=19764
March 27, 2019
On Wednesday, 27 March 2019 at 18:28:05 UTC, Kagamin wrote:
> https://issues.dlang.org/show_bug.cgi?id=19764

What about the missing

    return cast(string)castbuffer;

Isn't that needed aswell?
March 27, 2019
On Wednesday, 27 March 2019 at 21:18:22 UTC, Per Nordlöw wrote:
> On Wednesday, 27 March 2019 at 18:28:05 UTC, Kagamin wrote:
>> https://issues.dlang.org/show_bug.cgi?id=19764
>
> What about the missing
>
>     return cast(string)castbuffer;
>
> Isn't that needed aswell?

Fix at https://github.com/dlang/druntime/pull/2528
March 27, 2019
On Wednesday, 27 March 2019 at 14:01:38 UTC, Per Nordlöw wrote:
> But then ldmd2 crashes as

The frontend crashes, i.e., DMD too: https://issues.dlang.org/show_bug.cgi?id=19768