diff --git a/src/dscanner/analysis/unmodified.d b/src/dscanner/analysis/unmodified.d index b6051cd4..6dd3d8c1 100644 --- a/src/dscanner/analysis/unmodified.d +++ b/src/dscanner/analysis/unmodified.d @@ -5,6 +5,7 @@ module dscanner.analysis.unmodified; import dscanner.analysis.base; +import dscanner.analysis.nolint; import dscanner.utils : safeAccess; import dsymbol.scope_ : Scope; import std.container; @@ -114,11 +115,15 @@ final class UnmodifiedFinder : BaseAnalyzer if (canFindImmutableOrConst(dec)) { isImmutable++; - dec.accept(this); + with (noLint.push(NoLintFactory.fromDeclaration(dec))) + dec.accept(this); isImmutable--; } else - dec.accept(this); + { + with (noLint.push(NoLintFactory.fromDeclaration(dec))) + dec.accept(this); + } } override void visit(const IdentifierChain ic) @@ -381,5 +386,12 @@ bool isValueTypeSimple(const Type type) pure nothrow @nogc foo(i2); } }, sac); + + assertAnalyzerWarnings(q{ + @("nolint(dscanner.suspicious.unmodified)") + void foo(){ + int i = 1; + } + }, sac); }