Is @live attribute working yet?
Paolo Invernizzi
paolo.invernizzi at gmail.com
Sun Apr 24 11:36:29 UTC 2022
On Sunday, 24 April 2022 at 09:31:40 UTC, elfstone wrote:
> Dub(DMD 2.099.1) builds and runs the following code without a
> warning.
>
> import std.stdio;
> import core.stdc.stdlib;
>
> @live
> void test()
> {
> int* p = cast(int*) malloc(32);
> p = cast(int*) malloc(32);
> free(p);
> }
>
> void main()
> {
> test();
> writeln("???");
> }
>
> Isn't it supposed to trigger an error according to the doc
> (https://dlang.org/spec/ob.html)?
>
> @live void test()
> {
> auto p = allocate();
> p = allocate(); // error: p was not disposed of
> release(p);
> }
You need to use the flag `-preview=dip1021`
test.d(8,30): Error: variable `test.test.p` assigning to Owner
without disposing of owned value
More information about the Digitalmars-d-learn
mailing list