Version 2.18.0-63.0.dev
Merge commit '7352712902e911d22d23710c9af5085c9bc7849b' into 'dev'
diff --git a/pkg/analyzer/lib/src/error/use_result_verifier.dart b/pkg/analyzer/lib/src/error/use_result_verifier.dart
index a54515c..539e971 100644
--- a/pkg/analyzer/lib/src/error/use_result_verifier.dart
+++ b/pkg/analyzer/lib/src/error/use_result_verifier.dart
@@ -168,7 +168,8 @@
}
}
- if (parent is AwaitExpression ||
+ if (parent is AsExpression ||
+ parent is AwaitExpression ||
parent is ConditionalExpression ||
parent is ForElement ||
parent is IfElement ||
diff --git a/pkg/analyzer/test/src/diagnostics/unused_result_test.dart b/pkg/analyzer/test/src/diagnostics/unused_result_test.dart
index 1954c47..e7583c4 100644
--- a/pkg/analyzer/test/src/diagnostics/unused_result_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/unused_result_test.dart
@@ -21,6 +21,44 @@
writeTestPackageConfigWithMeta();
}
+ test_as() async {
+ await assertNoErrorsInCode(r'''
+import 'package:meta/meta.dart';
+
+class A {}
+class B extends A {}
+
+B createB() {
+ return createA() as B;
+}
+
+@UseResult('')
+A createA() {
+ return B();
+}
+''');
+ }
+
+ test_as_without_usage() async {
+ await assertErrorsInCode(r'''
+import 'package:meta/meta.dart';
+
+class A {}
+class B extends A {}
+
+void test() {
+ createA() as B;
+}
+
+@UseResult('')
+A createA() {
+ return B();
+}
+''', [
+ error(HintCode.UNUSED_RESULT, 83, 7),
+ ]);
+ }
+
test_field_result_assigned() async {
await assertNoErrorsInCode(r'''
import 'package:meta/meta.dart';
diff --git a/tools/VERSION b/tools/VERSION
index 6e3e47e..291b0df 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -27,5 +27,5 @@
MAJOR 2
MINOR 18
PATCH 0
-PRERELEASE 62
+PRERELEASE 63
PRERELEASE_PATCH 0
\ No newline at end of file