diff --git a/pkg/analyzer/lib/src/error/use_result_verifier.dart b/pkg/analyzer/lib/src/error/use_result_verifier.dart index fd0eaedd354..1899064b2e3 100644 --- a/pkg/analyzer/lib/src/error/use_result_verifier.dart +++ b/pkg/analyzer/lib/src/error/use_result_verifier.dart @@ -52,6 +52,11 @@ class UseResultVerifier { } void _check(AstNode node, Element element) { + if (node.parent is CommentReference) { + // Don't flag references in comments. + return; + } + var annotation = _getUseResultMetadata(element); if (annotation == null) { return; diff --git a/pkg/analyzer/test/src/diagnostics/unused_result_test.dart b/pkg/analyzer/test/src/diagnostics/unused_result_test.dart index 5d1c5a69e0b..250479bee09 100644 --- a/pkg/analyzer/test/src/diagnostics/unused_result_test.dart +++ b/pkg/analyzer/test/src/diagnostics/unused_result_test.dart @@ -765,6 +765,19 @@ void main() { '''); } + test_topLevelVariable_result_unusedInDoc() async { + // https://github.com/dart-lang/sdk/issues/47181 + await assertNoErrorsInCode(r''' +import 'package:meta/meta.dart'; + +@useResult +int get f => 1; + +/// I love [f]. +int g = 1; +'''); + } + test_topLevelVariable_returned() async { await assertNoErrorsInCode(r''' import 'package:meta/meta.dart';