parent
de0b719106
commit
a916a64fb7
|
@ -41,7 +41,6 @@ private:
|
||||||
enum msg = `Variable %s initializer is useless because it does not differ from the default value`;
|
enum msg = `Variable %s initializer is useless because it does not differ from the default value`;
|
||||||
}
|
}
|
||||||
|
|
||||||
static immutable strDefs = [`""`, `""c`, `""w`, `""d`, "``", "``c", "``w", "``d", "q{}"];
|
|
||||||
static immutable intDefs = ["0", "0L", "0UL", "0uL", "0U", "0x0", "0b0"];
|
static immutable intDefs = ["0", "0L", "0UL", "0uL", "0U", "0x0", "0b0"];
|
||||||
|
|
||||||
HashMap!(string, bool) _structCanBeInit;
|
HashMap!(string, bool) _structCanBeInit;
|
||||||
|
@ -217,7 +216,7 @@ public:
|
||||||
if (intDefs.canFind(value.text))
|
if (intDefs.canFind(value.text))
|
||||||
mixin(warn);
|
mixin(warn);
|
||||||
}
|
}
|
||||||
else if (isPtr)
|
else if (isPtr || isStr)
|
||||||
{
|
{
|
||||||
if (str(value.type) == "null")
|
if (str(value.type) == "null")
|
||||||
mixin(warn);
|
mixin(warn);
|
||||||
|
@ -228,24 +227,6 @@ public:
|
||||||
mixin(warn);
|
mixin(warn);
|
||||||
else if (nvi.arrayInitializer && nvi.arrayInitializer.arrayMemberInitializations.length == 0)
|
else if (nvi.arrayInitializer && nvi.arrayInitializer.arrayMemberInitializations.length == 0)
|
||||||
mixin(warn);
|
mixin(warn);
|
||||||
else if (decl.type.type2.builtinType != tok!"")
|
|
||||||
{
|
|
||||||
switch(decl.type.type2.builtinType)
|
|
||||||
{
|
|
||||||
case tok!"char", tok!"wchar", tok!"dchar":
|
|
||||||
if (strDefs.canFind(value.text))
|
|
||||||
mixin(warn);
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if (isStr)
|
|
||||||
{
|
|
||||||
if (strDefs.canFind(value.text))
|
|
||||||
mixin(warn);
|
|
||||||
else if (nvi.arrayInitializer && nvi.arrayInitializer.arrayMemberInitializations.length == 0)
|
|
||||||
mixin(warn);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -293,15 +274,14 @@ public:
|
||||||
Foo* a = null; // [warn]: X
|
Foo* a = null; // [warn]: X
|
||||||
int[] a = null; // [warn]: X
|
int[] a = null; // [warn]: X
|
||||||
int[] a = []; // [warn]: X
|
int[] a = []; // [warn]: X
|
||||||
string a = ""; // [warn]: X
|
string a = null; // [warn]: X
|
||||||
string a = ""c; // [warn]: X
|
string a = null; // [warn]: X
|
||||||
wstring a = ""w; // [warn]: X
|
wstring a = null; // [warn]: X
|
||||||
dstring a = ""d; // [warn]: X
|
dstring a = null; // [warn]: X
|
||||||
string a = q{}; // [warn]: X
|
|
||||||
size_t a = 0; // [warn]: X
|
size_t a = 0; // [warn]: X
|
||||||
ptrdiff_t a = 0; // [warn]: X
|
ptrdiff_t a = 0; // [warn]: X
|
||||||
string a = []; // [warn]: X
|
string a = []; // [warn]: X
|
||||||
char[] a = ""; // [warn]: X
|
char[] a = null; // [warn]: X
|
||||||
int a = int.init; // [warn]: X
|
int a = int.init; // [warn]: X
|
||||||
char a = char.init; // [warn]: X
|
char a = char.init; // [warn]: X
|
||||||
S s = S.init; // [warn]: X
|
S s = S.init; // [warn]: X
|
||||||
|
@ -336,6 +316,11 @@ public:
|
||||||
wstring a;
|
wstring a;
|
||||||
dstring a;
|
dstring a;
|
||||||
string a = ['a'];
|
string a = ['a'];
|
||||||
|
string a = "";
|
||||||
|
string a = ""c;
|
||||||
|
wstring a = ""w;
|
||||||
|
dstring a = ""d;
|
||||||
|
string a = q{};
|
||||||
char[] a = "ze";
|
char[] a = "ze";
|
||||||
S s = S(0,1);
|
S s = S(0,1);
|
||||||
S s = s.call();
|
S s = s.call();
|
||||||
|
|
Loading…
Reference in New Issue