in storage class doesn't mean ref/assignable
This commit is contained in:
parent
004847624b
commit
cd5dbd84e0
|
@ -299,18 +299,15 @@ class UnusedVariableCheck : BaseAnalyzer
|
||||||
|
|
||||||
override void visit(const Parameter parameter)
|
override void visit(const Parameter parameter)
|
||||||
{
|
{
|
||||||
import std.algorithm : canFind;
|
import std.algorithm : among;
|
||||||
import std.algorithm.iteration : filter;
|
import std.algorithm.iteration : filter;
|
||||||
import std.range : empty;
|
import std.range : empty;
|
||||||
import std.array : array;
|
import std.array : array;
|
||||||
|
|
||||||
if (parameter.name != tok!"")
|
if (parameter.name != tok!"")
|
||||||
{
|
{
|
||||||
immutable bool isRef =
|
immutable bool isRef = !parameter.parameterAttributes
|
||||||
canFind(parameter.parameterAttributes, cast(IdType) tok!"ref") ||
|
.filter!(a => a.among(tok!"ref", tok!"out")).empty;
|
||||||
canFind(parameter.parameterAttributes, cast(IdType) tok!"in") ||
|
|
||||||
canFind(parameter.parameterAttributes, cast(IdType) tok!"out");
|
|
||||||
|
|
||||||
immutable bool isPtr = parameter.type && !parameter.type
|
immutable bool isPtr = parameter.type && !parameter.type
|
||||||
.typeSuffixes.filter!(a => a.star != tok!"").empty;
|
.typeSuffixes.filter!(a => a.star != tok!"").empty;
|
||||||
|
|
||||||
|
@ -461,6 +458,8 @@ private:
|
||||||
int a; // [warn]: Variable a is never used.
|
int a; // [warn]: Variable a is never used.
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void inPSC(in int a){} // [warn]: Parameter a is never used.
|
||||||
|
|
||||||
// Issue 380
|
// Issue 380
|
||||||
int templatedEnum()
|
int templatedEnum()
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue