diff --git a/dev/bots/test/common.dart b/dev/bots/test/common.dart
index 8348fa7..d6e0e1f 100644
--- a/dev/bots/test/common.dart
+++ b/dev/bots/test/common.dart
@@ -13,7 +13,7 @@
 // TODO(ianh): Remove this file once https://github.com/dart-lang/matcher/issues/98 is fixed
 
 /// A matcher that compares the type of the actual value to the type argument T.
-Matcher isInstanceOf<T>() => test_package.TypeMatcher<T>(); // ignore: prefer_const_constructors, https://github.com/dart-lang/sdk/issues/32544
+Matcher isInstanceOf<T>() => test_package.TypeMatcher<T>();
 
 void tryToDelete(Directory directory) {
   // This should not be necessary, but it turns out that
diff --git a/dev/devicelab/test/common.dart b/dev/devicelab/test/common.dart
index 75cf5c3..53b0577 100644
--- a/dev/devicelab/test/common.dart
+++ b/dev/devicelab/test/common.dart
@@ -11,4 +11,4 @@
 // TODO(ianh): Remove this file once https://github.com/dart-lang/matcher/issues/98 is fixed
 
 /// A matcher that compares the type of the actual value to the type argument T.
-Matcher isInstanceOf<T>() => test_package.TypeMatcher<T>(); // ignore: prefer_const_constructors, https://github.com/dart-lang/sdk/issues/32544
+Matcher isInstanceOf<T>() => test_package.TypeMatcher<T>();
diff --git a/dev/integration_tests/android_semantics_testing/lib/src/flutter_test_alternative.dart b/dev/integration_tests/android_semantics_testing/lib/src/flutter_test_alternative.dart
index 55d44ba..9c93c31 100644
--- a/dev/integration_tests/android_semantics_testing/lib/src/flutter_test_alternative.dart
+++ b/dev/integration_tests/android_semantics_testing/lib/src/flutter_test_alternative.dart
@@ -11,4 +11,4 @@
 export 'package:test/test.dart' hide TypeMatcher, isInstanceOf;
 
 /// A matcher that compares the type of the actual value to the type argument T.
-Matcher isInstanceOf<T>() => test_package.TypeMatcher<T>(); // ignore: prefer_const_constructors, https://github.com/dart-lang/sdk/issues/32544
+Matcher isInstanceOf<T>() => test_package.TypeMatcher<T>();
diff --git a/packages/flutter/test/flutter_test_alternative.dart b/packages/flutter/test/flutter_test_alternative.dart
index 55d44ba..9c93c31 100644
--- a/packages/flutter/test/flutter_test_alternative.dart
+++ b/packages/flutter/test/flutter_test_alternative.dart
@@ -11,4 +11,4 @@
 export 'package:test/test.dart' hide TypeMatcher, isInstanceOf;
 
 /// A matcher that compares the type of the actual value to the type argument T.
-Matcher isInstanceOf<T>() => test_package.TypeMatcher<T>(); // ignore: prefer_const_constructors, https://github.com/dart-lang/sdk/issues/32544
+Matcher isInstanceOf<T>() => test_package.TypeMatcher<T>();
diff --git a/packages/flutter/test/material/reorderable_list_test.dart b/packages/flutter/test/material/reorderable_list_test.dart
index 354277d..bc21f79 100644
--- a/packages/flutter/test/material/reorderable_list_test.dart
+++ b/packages/flutter/test/material/reorderable_list_test.dart
@@ -914,7 +914,6 @@
 
 class _Stateful extends StatefulWidget {
   // Ignoring the preference for const constructors because we want to test with regular non-const instances.
-  // ignore:prefer_const_constructors
   // ignore:prefer_const_constructors_in_immutables
   _Stateful({Key key}) : super(key: key);
 
diff --git a/packages/flutter/test/painting/flutter_logo_test.dart b/packages/flutter/test/painting/flutter_logo_test.dart
index 5591697..9d87e0d 100644
--- a/packages/flutter/test/painting/flutter_logo_test.dart
+++ b/packages/flutter/test/painting/flutter_logo_test.dart
@@ -7,7 +7,6 @@
 
 void main() {
   // Here and below, see: https://github.com/dart-lang/sdk/issues/26980
-  // ignore: prefer_const_constructors
   final FlutterLogoDecoration start = FlutterLogoDecoration(
     lightColor: const Color(0xFF000000),
     darkColor: const Color(0xFFFFFFFF),
@@ -16,7 +15,6 @@
     margin: const EdgeInsets.all(10.0),
   );
 
-  // ignore: prefer_const_constructors
   final FlutterLogoDecoration end = FlutterLogoDecoration(
     lightColor: const Color(0xFFFFFFFF),
     darkColor: const Color(0xFF000000),
diff --git a/packages/flutter_driver/test/common.dart b/packages/flutter_driver/test/common.dart
index efc4cbd..e462f69 100644
--- a/packages/flutter_driver/test/common.dart
+++ b/packages/flutter_driver/test/common.dart
@@ -13,7 +13,7 @@
 // TODO(ianh): Clean this up once https://github.com/dart-lang/matcher/issues/98 is fixed
 
 /// A matcher that compares the type of the actual value to the type argument T.
-Matcher isInstanceOf<T>() => test_package.TypeMatcher<T>(); // ignore: prefer_const_constructors, https://github.com/dart-lang/sdk/issues/32544
+Matcher isInstanceOf<T>() => test_package.TypeMatcher<T>();
 
 void tryToDelete(Directory directory) {
   // This should not be necessary, but it turns out that
diff --git a/packages/flutter_test/lib/src/matchers.dart b/packages/flutter_test/lib/src/matchers.dart
index d348d80..231cce3 100644
--- a/packages/flutter_test/lib/src/matchers.dart
+++ b/packages/flutter_test/lib/src/matchers.dart
@@ -194,7 +194,7 @@
 
 /// A matcher that compares the type of the actual value to the type argument T.
 // TODO(ianh): Remove this once https://github.com/dart-lang/matcher/issues/98 is fixed
-Matcher isInstanceOf<T>() => test_package.TypeMatcher<T>(); // ignore: prefer_const_constructors, https://github.com/dart-lang/sdk/issues/32544
+Matcher isInstanceOf<T>() => test_package.TypeMatcher<T>();
 
 /// Asserts that two [double]s are equal, within some tolerated error.
 ///
diff --git a/packages/flutter_tools/test/src/common.dart b/packages/flutter_tools/test/src/common.dart
index 2424667..88298aa 100644
--- a/packages/flutter_tools/test/src/common.dart
+++ b/packages/flutter_tools/test/src/common.dart
@@ -20,7 +20,7 @@
 
 /// A matcher that compares the type of the actual value to the type argument T.
 // TODO(ianh): Remove this once https://github.com/dart-lang/matcher/issues/98 is fixed
-Matcher isInstanceOf<T>() => test_package.TypeMatcher<T>(); // ignore: prefer_const_constructors, https://github.com/dart-lang/sdk/issues/32544
+Matcher isInstanceOf<T>() => test_package.TypeMatcher<T>();
 
 void tryToDelete(Directory directory) {
   // This should not be necessary, but it turns out that
diff --git a/packages/fuchsia_remote_debug_protocol/test/common.dart b/packages/fuchsia_remote_debug_protocol/test/common.dart
index 55d44ba..9c93c31 100644
--- a/packages/fuchsia_remote_debug_protocol/test/common.dart
+++ b/packages/fuchsia_remote_debug_protocol/test/common.dart
@@ -11,4 +11,4 @@
 export 'package:test/test.dart' hide TypeMatcher, isInstanceOf;
 
 /// A matcher that compares the type of the actual value to the type argument T.
-Matcher isInstanceOf<T>() => test_package.TypeMatcher<T>(); // ignore: prefer_const_constructors, https://github.com/dart-lang/sdk/issues/32544
+Matcher isInstanceOf<T>() => test_package.TypeMatcher<T>();
