diff --git a/src/analysis/auto_function.d b/src/analysis/auto_function.d index 4be8b59..8373fe1 100644 --- a/src/analysis/auto_function.d +++ b/src/analysis/auto_function.d @@ -52,7 +52,7 @@ public: decl.accept(this); - if (autoFun && !_returns[$-1]) + if (decl.functionBody && autoFun && !_returns[$-1]) addErrorMessage(decl.name.line, decl.name.column, KEY, MESSAGE); } @@ -149,5 +149,19 @@ unittest AutoFunctionChecker.MESSAGE, ), sac); + assertAnalyzerWarnings(q{ + auto doStuff(){} // [warn]: %s + extern(C) auto doStuff(); + }c.format( + AutoFunctionChecker.MESSAGE, + ), sac); + + assertAnalyzerWarnings(q{ + auto doStuff(){} // [warn]: %s + @disable auto doStuff(); + }c.format( + AutoFunctionChecker.MESSAGE, + ), sac); + stderr.writeln("Unittest for AutoFunctionChecker passed."); }