I am using the OpenMPI binding and, in recent times, I have been
getting a deprecation message when compiling. It seems to be
related to assigning Nullable!int entries to an associative
array. The following program shows the same message three times
but it does run as I expect.
import std.stdio, std.typecons;
void main(string[] args)
{
Nullable!(int)[string] my_entries;
// First way.
my_entries["A"] = Nullable!int.init;
// Second way.
Nullable!(int) empty;
my_entries["B"] = empty;
// Third way.
my_entries["C"] = 0.nullable;
my_entries["C"].nullify();
writeln("my_entries=", my_entries);
Nullable!(int) b = Nullable!int.init;
writeln("b=", b);
Nullable!(int) c = 0.nullable;
writeln("c=", c);
}
peterj@helmholtz ~/work/play/dlang $ dmd null_test.d
null_test.d(7): Deprecation: function
`std.typecons.Nullable!int.Nullable.get_` is deprecated -
Implicit conversion with `alias Nullable.get this` will be
removed after 2.096. Please use `.get` explicitly.
null_test.d(10): Deprecation: function
`std.typecons.Nullable!int.Nullable.get_` is deprecated -
Implicit conversion with `alias Nullable.get this` will be
removed after 2.096. Please use `.get` explicitly.
null_test.d(12): Deprecation: function
`std.typecons.Nullable!int.Nullable.get_` is deprecated -
Implicit conversion with `alias Nullable.get this` will be
removed after 2.096. Please use `.get` explicitly.
peterj@helmholtz ~/work/play/dlang $ ./null_test
my_entries=["A":Nullable.null, "C":Nullable.null,
"B":Nullable.null]
b=Nullable.null
c=0
Can someone please tell me how I should set these associative
array entries such that I keep the compiler happy?