On Sunday, 6 September 2020 at 03:42:36 UTC, N.S. wrote:
I'd like to check whether a variable is initialized or not. And I'd also like to uninitialize a variable that is already initialized. Thanks!

int x = void;

if (x == void)
{
    writeln("x not initialized");
}
else
{
    // OK, use x
}

// Uninitialize x
x = void;

You might consider Nullable from std.typecons; however, if you're avoiding implicit initialization for performance reasons, then this solution might not be applicable.

import std.stdio: writeln;
import std.typecons: Nullable;

Nullable!int x;

if (x.isNull)
{
        writeln("x not 'initialized'");
}
else
{
        // OK, use x
}

// 'Uninitialize' x
x.nullify();

Reply via email to