Version 2.13.0-176.0.dev

Merge commit '9008fc0eaf8fa22ea1a30c38eceb69f2b43e3b01' into 'dev'
diff --git a/pkg/front_end/lib/src/fasta/builder/named_type_builder.dart b/pkg/front_end/lib/src/fasta/builder/named_type_builder.dart
index 1833d4f..86e27d1 100644
--- a/pkg/front_end/lib/src/fasta/builder/named_type_builder.dart
+++ b/pkg/front_end/lib/src/fasta/builder/named_type_builder.dart
@@ -244,23 +244,8 @@
       }
     }
 
-    if (library is SourceLibraryBuilder) {
-      int uncheckedTypedefTypeCount = library.uncheckedTypedefTypes.length;
-      DartType builtType = declaration.buildType(
-          library, nullabilityBuilder, arguments, notInstanceContext);
-      // Set locations for new unchecked TypedefTypes for error reporting.
-      for (int i = uncheckedTypedefTypeCount;
-          i < library.uncheckedTypedefTypes.length;
-          ++i) {
-        library.uncheckedTypedefTypes[i]
-          ..fileUri ??= fileUri
-          ..offset ??= charOffset;
-      }
-      return builtType;
-    } else {
-      return declaration.buildType(
-          library, nullabilityBuilder, arguments, notInstanceContext);
-    }
+    return declaration.buildType(
+        library, nullabilityBuilder, arguments, notInstanceContext);
   }
 
   Supertype buildSupertype(
diff --git a/pkg/front_end/lib/src/fasta/builder/type_alias_builder.dart b/pkg/front_end/lib/src/fasta/builder/type_alias_builder.dart
index 577265a..6737b87 100644
--- a/pkg/front_end/lib/src/fasta/builder/type_alias_builder.dart
+++ b/pkg/front_end/lib/src/fasta/builder/type_alias_builder.dart
@@ -6,7 +6,14 @@
 
 library fasta.function_type_alias_builder;
 
-import 'package:kernel/ast.dart';
+import 'package:kernel/ast.dart'
+    show
+        DartType,
+        DynamicType,
+        InvalidType,
+        Nullability,
+        TypeParameter,
+        Typedef;
 import 'package:kernel/core_types.dart';
 
 import 'package:kernel/type_algebra.dart' show substitute, uniteNullabilities;
@@ -21,13 +28,11 @@
         messageTypedefTypeVariableNotConstructorCause;
 
 import '../problems.dart' show unhandled;
-import '../source/source_library_builder.dart';
 import '../util/helpers.dart';
 
 import 'class_builder.dart';
 import 'library_builder.dart';
 import 'metadata_builder.dart';
-import 'function_type_builder.dart';
 import 'named_type_builder.dart';
 import 'nullability_builder.dart';
 import 'type_builder.dart';
@@ -141,17 +146,6 @@
     for (int i = 0; i < typedef.typeParameters.length; i++) {
       substitution[typedef.typeParameters[i]] = arguments[i];
     }
-    // The following adds the built type to the list of unchecked typedef types
-    // of the client library. It is needed because the type is built unaliased,
-    // and at the time of the check it wouldn't be possible to see if the type
-    // arguments to the generic typedef conform to the bounds without preserving
-    // the TypedefType for the delayed check.
-    if (library is SourceLibraryBuilder &&
-        arguments.isNotEmpty &&
-        type is! FunctionTypeBuilder) {
-      library.uncheckedTypedefTypes.add(new UncheckedTypedefType(
-          new TypedefType(typedef, nullability, arguments)));
-    }
     return substitute(result, substitution);
   }
 
diff --git a/pkg/front_end/lib/src/fasta/kernel/body_builder.dart b/pkg/front_end/lib/src/fasta/kernel/body_builder.dart
index 927f9e8..fc29eb6 100644
--- a/pkg/front_end/lib/src/fasta/kernel/body_builder.dart
+++ b/pkg/front_end/lib/src/fasta/kernel/body_builder.dart
@@ -1081,7 +1081,6 @@
 
     resolveRedirectingFactoryTargets();
     finishVariableMetadata();
-    libraryBuilder.checkUncheckedTypedefTypes(typeEnvironment);
   }
 
   void checkAsyncReturnType(AsyncMarker asyncModifier, DartType returnType,
diff --git a/pkg/front_end/lib/src/fasta/source/source_library_builder.dart b/pkg/front_end/lib/src/fasta/source/source_library_builder.dart
index d13a474..51d4375 100644
--- a/pkg/front_end/lib/src/fasta/source/source_library_builder.dart
+++ b/pkg/front_end/lib/src/fasta/source/source_library_builder.dart
@@ -188,9 +188,6 @@
   final List<TypeVariableBuilder> boundlessTypeVariables =
       <TypeVariableBuilder>[];
 
-  final List<UncheckedTypedefType> uncheckedTypedefTypes =
-      <UncheckedTypedefType>[];
-
   // A list of alternating forwarders and the procedures they were generated
   // for.  Note that it may not include a forwarder-origin pair in cases when
   // the former does not need to be updated after the body of the latter was
@@ -3781,7 +3778,6 @@
       }
     }
     inferredTypes.clear();
-    checkUncheckedTypedefTypes(typeEnvironment);
   }
 
   void registerImplicitlyTypedField(FieldBuilder fieldBuilder) {
@@ -3833,21 +3829,6 @@
     _pendingNullabilities
         .add(new PendingNullability(fileUri, charOffset, type));
   }
-
-  /// Performs delayed bounds checks on [TypedefType]s for the library
-  ///
-  /// As [TypedefType]s are built, they are eagerly unaliased, making it
-  /// impossible to perform the bounds checks on them at the time when the
-  /// checks can be done. To perform the checks, [TypedefType]s are added to
-  /// [uncheckedTypedefTypes] as they are built.  This method performs the
-  /// checks and clears the list of the types for the delayed check.
-  void checkUncheckedTypedefTypes(TypeEnvironment typeEnvironment) {
-    for (UncheckedTypedefType uncheckedTypedefType in uncheckedTypedefTypes) {
-      checkBoundsInType(uncheckedTypedefType.typeToCheck, typeEnvironment,
-          uncheckedTypedefType.fileUri, uncheckedTypedefType.offset);
-    }
-    uncheckedTypedefTypes.clear();
-  }
 }
 
 // The kind of type parameter scope built by a [TypeParameterScopeBuilder]
@@ -4314,14 +4295,3 @@
 
   PendingNullability(this.fileUri, this.charOffset, this.type);
 }
-
-class UncheckedTypedefType {
-  final TypedefType typeToCheck;
-
-  // TODO(dmitryas): Make these fields nullable when the library is opted-in to
-  // NNBD.
-  int offset;
-  Uri fileUri;
-
-  UncheckedTypedefType(this.typeToCheck);
-}
diff --git a/pkg/front_end/test/spell_checking_list_common.txt b/pkg/front_end/test/spell_checking_list_common.txt
index 912054f..7d290ee 100644
--- a/pkg/front_end/test/spell_checking_list_common.txt
+++ b/pkg/front_end/test/spell_checking_list_common.txt
@@ -3155,7 +3155,6 @@
 unbind
 uncertain
 unchanged
-unchecked
 unclaimed
 unclear
 undeclared
diff --git a/pkg/front_end/test/spell_checking_list_tests.txt b/pkg/front_end/test/spell_checking_list_tests.txt
index 8050222..f2aa65a 100644
--- a/pkg/front_end/test/spell_checking_list_tests.txt
+++ b/pkg/front_end/test/spell_checking_list_tests.txt
@@ -57,12 +57,6 @@
 bail
 bailing
 bailout
-bar1a
-bar1b
-bar2a
-bar2b
-bar3a
-bar3b
 barbar
 bash
 bat
diff --git a/pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart b/pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart
deleted file mode 100644
index 84f5324..0000000
--- a/pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart
+++ /dev/null
@@ -1,38 +0,0 @@
-// Copyright (c) 2021, the Dart project authors. Please see the AUTHORS file
-// for details. All rights reserved. Use of this source code is governed by a
-// BSD-style license that can be found in the LICENSE file.
-
-class A<T> {}
-
-typedef B<X extends A<X>> = A<X>;
-
-foo() {
-  B<A<int>> x1;
-  A<B<A<int>>> x2;
-}
-
-B<A<int>> bar1a() => throw 42;
-A<B<A<int>>> bar1b() => throw 42;
-
-bar2a(B<A<int>> x) => throw 42;
-bar2b(A<B<A<int>>> x) => throw 42;
-
-bar3a<X extends B<A<int>>>() => throw 42;
-bar3b<X extends A<B<A<int>>>>() => throw 42;
-
-class Bar1<X extends B<A<int>>> {
-  B<A<int>> barBar11() => throw 42;
-  barBar12(B<A<int>> x) => throw 42;
-  barBar13<X extends B<A<int>>>() => throw 42;
-}
-
-class Bar2<X extends A<B<A<int>>>> {
-  A<B<A<int>>> barBar21() => throw 42;
-  barBar22(A<B<A<int>>> x) => throw 42;
-  barBar23<X extends A<B<A<int>>>>() => throw 42;
-}
-
-typedef Baz1 = B<A<int>>;
-typedef Baz2 = A<B<A<int>>>;
-
-main() {}
diff --git a/pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart.strong.expect b/pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart.strong.expect
deleted file mode 100644
index 7506643..0000000
--- a/pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart.strong.expect
+++ /dev/null
@@ -1,216 +0,0 @@
-library /*isNonNullableByDefault*/;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:20:17: Error: Type argument 'A<int>' doesn't conform to the bound 'A<X>' of the type variable 'X' on 'B'.
-//  - 'A' is from 'pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart'.
-// Try changing type arguments so that they conform to the bounds.
-// bar3a<X extends B<A<int>>>() => throw 42;
-//                 ^
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:7:11: Context: This is the type variable whose bound isn't conformed to.
-// typedef B<X extends A<X>> = A<X>;
-//           ^
-//
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:21:19: Error: Type argument 'A<int>' doesn't conform to the bound 'A<X>' of the type variable 'X' on 'B'.
-//  - 'A' is from 'pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart'.
-// Try changing type arguments so that they conform to the bounds.
-// bar3b<X extends A<B<A<int>>>>() => throw 42;
-//                   ^
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:7:11: Context: This is the type variable whose bound isn't conformed to.
-// typedef B<X extends A<X>> = A<X>;
-//           ^
-//
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:23:22: Error: Type argument 'A<int>' doesn't conform to the bound 'A<X>' of the type variable 'X' on 'B'.
-//  - 'A' is from 'pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart'.
-// Try changing type arguments so that they conform to the bounds.
-// class Bar1<X extends B<A<int>>> {
-//                      ^
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:7:11: Context: This is the type variable whose bound isn't conformed to.
-// typedef B<X extends A<X>> = A<X>;
-//           ^
-//
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:26:22: Error: Type argument 'A<int>' doesn't conform to the bound 'A<X>' of the type variable 'X' on 'B'.
-//  - 'A' is from 'pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart'.
-// Try changing type arguments so that they conform to the bounds.
-//   barBar13<X extends B<A<int>>>() => throw 42;
-//                      ^
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:7:11: Context: This is the type variable whose bound isn't conformed to.
-// typedef B<X extends A<X>> = A<X>;
-//           ^
-//
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:29:24: Error: Type argument 'A<int>' doesn't conform to the bound 'A<X>' of the type variable 'X' on 'B'.
-//  - 'A' is from 'pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart'.
-// Try changing type arguments so that they conform to the bounds.
-// class Bar2<X extends A<B<A<int>>>> {
-//                        ^
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:7:11: Context: This is the type variable whose bound isn't conformed to.
-// typedef B<X extends A<X>> = A<X>;
-//           ^
-//
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:32:24: Error: Type argument 'A<int>' doesn't conform to the bound 'A<X>' of the type variable 'X' on 'B'.
-//  - 'A' is from 'pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart'.
-// Try changing type arguments so that they conform to the bounds.
-//   barBar23<X extends A<B<A<int>>>>() => throw 42;
-//                        ^
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:7:11: Context: This is the type variable whose bound isn't conformed to.
-// typedef B<X extends A<X>> = A<X>;
-//           ^
-//
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:14:1: Error: Type argument 'A<int>' doesn't conform to the bound 'A<X>' of the type variable 'X' on 'B'.
-//  - 'A' is from 'pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart'.
-// Try changing type arguments so that they conform to the bounds.
-// B<A<int>> bar1a() => throw 42;
-// ^
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:7:11: Context: This is the type variable whose bound isn't conformed to.
-// typedef B<X extends A<X>> = A<X>;
-//           ^
-//
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:15:3: Error: Type argument 'A<int>' doesn't conform to the bound 'A<X>' of the type variable 'X' on 'B'.
-//  - 'A' is from 'pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart'.
-// Try changing type arguments so that they conform to the bounds.
-// A<B<A<int>>> bar1b() => throw 42;
-//   ^
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:7:11: Context: This is the type variable whose bound isn't conformed to.
-// typedef B<X extends A<X>> = A<X>;
-//           ^
-//
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:17:7: Error: Type argument 'A<int>' doesn't conform to the bound 'A<X>' of the type variable 'X' on 'B'.
-//  - 'A' is from 'pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart'.
-// Try changing type arguments so that they conform to the bounds.
-// bar2a(B<A<int>> x) => throw 42;
-//       ^
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:7:11: Context: This is the type variable whose bound isn't conformed to.
-// typedef B<X extends A<X>> = A<X>;
-//           ^
-//
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:18:9: Error: Type argument 'A<int>' doesn't conform to the bound 'A<X>' of the type variable 'X' on 'B'.
-//  - 'A' is from 'pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart'.
-// Try changing type arguments so that they conform to the bounds.
-// bar2b(A<B<A<int>>> x) => throw 42;
-//         ^
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:7:11: Context: This is the type variable whose bound isn't conformed to.
-// typedef B<X extends A<X>> = A<X>;
-//           ^
-//
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:24:3: Error: Type argument 'A<int>' doesn't conform to the bound 'A<X>' of the type variable 'X' on 'B'.
-//  - 'A' is from 'pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart'.
-// Try changing type arguments so that they conform to the bounds.
-//   B<A<int>> barBar11() => throw 42;
-//   ^
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:7:11: Context: This is the type variable whose bound isn't conformed to.
-// typedef B<X extends A<X>> = A<X>;
-//           ^
-//
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:25:12: Error: Type argument 'A<int>' doesn't conform to the bound 'A<X>' of the type variable 'X' on 'B'.
-//  - 'A' is from 'pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart'.
-// Try changing type arguments so that they conform to the bounds.
-//   barBar12(B<A<int>> x) => throw 42;
-//            ^
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:7:11: Context: This is the type variable whose bound isn't conformed to.
-// typedef B<X extends A<X>> = A<X>;
-//           ^
-//
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:30:5: Error: Type argument 'A<int>' doesn't conform to the bound 'A<X>' of the type variable 'X' on 'B'.
-//  - 'A' is from 'pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart'.
-// Try changing type arguments so that they conform to the bounds.
-//   A<B<A<int>>> barBar21() => throw 42;
-//     ^
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:7:11: Context: This is the type variable whose bound isn't conformed to.
-// typedef B<X extends A<X>> = A<X>;
-//           ^
-//
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:31:14: Error: Type argument 'A<int>' doesn't conform to the bound 'A<X>' of the type variable 'X' on 'B'.
-//  - 'A' is from 'pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart'.
-// Try changing type arguments so that they conform to the bounds.
-//   barBar22(A<B<A<int>>> x) => throw 42;
-//              ^
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:7:11: Context: This is the type variable whose bound isn't conformed to.
-// typedef B<X extends A<X>> = A<X>;
-//           ^
-//
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:35:16: Error: Type argument 'A<int>' doesn't conform to the bound 'A<X>' of the type variable 'X' on 'B'.
-//  - 'A' is from 'pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart'.
-// Try changing type arguments so that they conform to the bounds.
-// typedef Baz1 = B<A<int>>;
-//                ^
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:7:11: Context: This is the type variable whose bound isn't conformed to.
-// typedef B<X extends A<X>> = A<X>;
-//           ^
-//
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:36:18: Error: Type argument 'A<int>' doesn't conform to the bound 'A<X>' of the type variable 'X' on 'B'.
-//  - 'A' is from 'pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart'.
-// Try changing type arguments so that they conform to the bounds.
-// typedef Baz2 = A<B<A<int>>>;
-//                  ^
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:7:11: Context: This is the type variable whose bound isn't conformed to.
-// typedef B<X extends A<X>> = A<X>;
-//           ^
-//
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:10:3: Error: Type argument 'A<int>' doesn't conform to the bound 'A<X>' of the type variable 'X' on 'B'.
-//  - 'A' is from 'pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart'.
-// Try changing type arguments so that they conform to the bounds.
-//   B<A<int>> x1;
-//   ^
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:7:11: Context: This is the type variable whose bound isn't conformed to.
-// typedef B<X extends A<X>> = A<X>;
-//           ^
-//
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:11:5: Error: Type argument 'A<int>' doesn't conform to the bound 'A<X>' of the type variable 'X' on 'B'.
-//  - 'A' is from 'pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart'.
-// Try changing type arguments so that they conform to the bounds.
-//   A<B<A<int>>> x2;
-//     ^
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:7:11: Context: This is the type variable whose bound isn't conformed to.
-// typedef B<X extends A<X>> = A<X>;
-//           ^
-//
-import self as self;
-import "dart:core" as core;
-
-typedef B<X extends self::A<X> = self::A<dynamic>> = self::A<X>;
-typedef Baz1 = self::A<self::A<core::int>>;
-typedef Baz2 = self::A<self::A<self::A<core::int>>>;
-class A<T extends core::Object? = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::T%>
-    : super core::Object::•()
-    ;
-}
-class Bar1<X extends self::A<self::A<core::int>> = self::A<self::A<core::int>>> extends core::Object {
-  synthetic constructor •() → self::Bar1<self::Bar1::X>
-    : super core::Object::•()
-    ;
-  method barBar11() → self::A<self::A<core::int>>
-    return throw 42;
-  method barBar12(self::A<self::A<core::int>> x) → dynamic
-    return throw 42;
-  method barBar13<X extends self::A<self::A<core::int>> = self::A<self::A<core::int>>>() → dynamic
-    return throw 42;
-}
-class Bar2<X extends self::A<self::A<self::A<core::int>>> = self::A<self::A<self::A<core::int>>>> extends core::Object {
-  synthetic constructor •() → self::Bar2<self::Bar2::X>
-    : super core::Object::•()
-    ;
-  method barBar21() → self::A<self::A<self::A<core::int>>>
-    return throw 42;
-  method barBar22(self::A<self::A<self::A<core::int>>> x) → dynamic
-    return throw 42;
-  method barBar23<X extends self::A<self::A<self::A<core::int>>> = self::A<self::A<self::A<core::int>>>>() → dynamic
-    return throw 42;
-}
-static method foo() → dynamic {
-  self::A<self::A<core::int>> x1;
-  self::A<self::A<self::A<core::int>>> x2;
-}
-static method bar1a() → self::A<self::A<core::int>>
-  return throw 42;
-static method bar1b() → self::A<self::A<self::A<core::int>>>
-  return throw 42;
-static method bar2a(self::A<self::A<core::int>> x) → dynamic
-  return throw 42;
-static method bar2b(self::A<self::A<self::A<core::int>>> x) → dynamic
-  return throw 42;
-static method bar3a<X extends self::A<self::A<core::int>> = self::A<self::A<core::int>>>() → dynamic
-  return throw 42;
-static method bar3b<X extends self::A<self::A<self::A<core::int>>> = self::A<self::A<self::A<core::int>>>>() → dynamic
-  return throw 42;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart.strong.transformed.expect b/pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart.strong.transformed.expect
deleted file mode 100644
index 7506643..0000000
--- a/pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart.strong.transformed.expect
+++ /dev/null
@@ -1,216 +0,0 @@
-library /*isNonNullableByDefault*/;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:20:17: Error: Type argument 'A<int>' doesn't conform to the bound 'A<X>' of the type variable 'X' on 'B'.
-//  - 'A' is from 'pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart'.
-// Try changing type arguments so that they conform to the bounds.
-// bar3a<X extends B<A<int>>>() => throw 42;
-//                 ^
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:7:11: Context: This is the type variable whose bound isn't conformed to.
-// typedef B<X extends A<X>> = A<X>;
-//           ^
-//
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:21:19: Error: Type argument 'A<int>' doesn't conform to the bound 'A<X>' of the type variable 'X' on 'B'.
-//  - 'A' is from 'pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart'.
-// Try changing type arguments so that they conform to the bounds.
-// bar3b<X extends A<B<A<int>>>>() => throw 42;
-//                   ^
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:7:11: Context: This is the type variable whose bound isn't conformed to.
-// typedef B<X extends A<X>> = A<X>;
-//           ^
-//
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:23:22: Error: Type argument 'A<int>' doesn't conform to the bound 'A<X>' of the type variable 'X' on 'B'.
-//  - 'A' is from 'pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart'.
-// Try changing type arguments so that they conform to the bounds.
-// class Bar1<X extends B<A<int>>> {
-//                      ^
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:7:11: Context: This is the type variable whose bound isn't conformed to.
-// typedef B<X extends A<X>> = A<X>;
-//           ^
-//
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:26:22: Error: Type argument 'A<int>' doesn't conform to the bound 'A<X>' of the type variable 'X' on 'B'.
-//  - 'A' is from 'pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart'.
-// Try changing type arguments so that they conform to the bounds.
-//   barBar13<X extends B<A<int>>>() => throw 42;
-//                      ^
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:7:11: Context: This is the type variable whose bound isn't conformed to.
-// typedef B<X extends A<X>> = A<X>;
-//           ^
-//
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:29:24: Error: Type argument 'A<int>' doesn't conform to the bound 'A<X>' of the type variable 'X' on 'B'.
-//  - 'A' is from 'pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart'.
-// Try changing type arguments so that they conform to the bounds.
-// class Bar2<X extends A<B<A<int>>>> {
-//                        ^
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:7:11: Context: This is the type variable whose bound isn't conformed to.
-// typedef B<X extends A<X>> = A<X>;
-//           ^
-//
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:32:24: Error: Type argument 'A<int>' doesn't conform to the bound 'A<X>' of the type variable 'X' on 'B'.
-//  - 'A' is from 'pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart'.
-// Try changing type arguments so that they conform to the bounds.
-//   barBar23<X extends A<B<A<int>>>>() => throw 42;
-//                        ^
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:7:11: Context: This is the type variable whose bound isn't conformed to.
-// typedef B<X extends A<X>> = A<X>;
-//           ^
-//
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:14:1: Error: Type argument 'A<int>' doesn't conform to the bound 'A<X>' of the type variable 'X' on 'B'.
-//  - 'A' is from 'pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart'.
-// Try changing type arguments so that they conform to the bounds.
-// B<A<int>> bar1a() => throw 42;
-// ^
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:7:11: Context: This is the type variable whose bound isn't conformed to.
-// typedef B<X extends A<X>> = A<X>;
-//           ^
-//
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:15:3: Error: Type argument 'A<int>' doesn't conform to the bound 'A<X>' of the type variable 'X' on 'B'.
-//  - 'A' is from 'pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart'.
-// Try changing type arguments so that they conform to the bounds.
-// A<B<A<int>>> bar1b() => throw 42;
-//   ^
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:7:11: Context: This is the type variable whose bound isn't conformed to.
-// typedef B<X extends A<X>> = A<X>;
-//           ^
-//
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:17:7: Error: Type argument 'A<int>' doesn't conform to the bound 'A<X>' of the type variable 'X' on 'B'.
-//  - 'A' is from 'pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart'.
-// Try changing type arguments so that they conform to the bounds.
-// bar2a(B<A<int>> x) => throw 42;
-//       ^
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:7:11: Context: This is the type variable whose bound isn't conformed to.
-// typedef B<X extends A<X>> = A<X>;
-//           ^
-//
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:18:9: Error: Type argument 'A<int>' doesn't conform to the bound 'A<X>' of the type variable 'X' on 'B'.
-//  - 'A' is from 'pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart'.
-// Try changing type arguments so that they conform to the bounds.
-// bar2b(A<B<A<int>>> x) => throw 42;
-//         ^
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:7:11: Context: This is the type variable whose bound isn't conformed to.
-// typedef B<X extends A<X>> = A<X>;
-//           ^
-//
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:24:3: Error: Type argument 'A<int>' doesn't conform to the bound 'A<X>' of the type variable 'X' on 'B'.
-//  - 'A' is from 'pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart'.
-// Try changing type arguments so that they conform to the bounds.
-//   B<A<int>> barBar11() => throw 42;
-//   ^
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:7:11: Context: This is the type variable whose bound isn't conformed to.
-// typedef B<X extends A<X>> = A<X>;
-//           ^
-//
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:25:12: Error: Type argument 'A<int>' doesn't conform to the bound 'A<X>' of the type variable 'X' on 'B'.
-//  - 'A' is from 'pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart'.
-// Try changing type arguments so that they conform to the bounds.
-//   barBar12(B<A<int>> x) => throw 42;
-//            ^
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:7:11: Context: This is the type variable whose bound isn't conformed to.
-// typedef B<X extends A<X>> = A<X>;
-//           ^
-//
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:30:5: Error: Type argument 'A<int>' doesn't conform to the bound 'A<X>' of the type variable 'X' on 'B'.
-//  - 'A' is from 'pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart'.
-// Try changing type arguments so that they conform to the bounds.
-//   A<B<A<int>>> barBar21() => throw 42;
-//     ^
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:7:11: Context: This is the type variable whose bound isn't conformed to.
-// typedef B<X extends A<X>> = A<X>;
-//           ^
-//
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:31:14: Error: Type argument 'A<int>' doesn't conform to the bound 'A<X>' of the type variable 'X' on 'B'.
-//  - 'A' is from 'pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart'.
-// Try changing type arguments so that they conform to the bounds.
-//   barBar22(A<B<A<int>>> x) => throw 42;
-//              ^
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:7:11: Context: This is the type variable whose bound isn't conformed to.
-// typedef B<X extends A<X>> = A<X>;
-//           ^
-//
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:35:16: Error: Type argument 'A<int>' doesn't conform to the bound 'A<X>' of the type variable 'X' on 'B'.
-//  - 'A' is from 'pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart'.
-// Try changing type arguments so that they conform to the bounds.
-// typedef Baz1 = B<A<int>>;
-//                ^
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:7:11: Context: This is the type variable whose bound isn't conformed to.
-// typedef B<X extends A<X>> = A<X>;
-//           ^
-//
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:36:18: Error: Type argument 'A<int>' doesn't conform to the bound 'A<X>' of the type variable 'X' on 'B'.
-//  - 'A' is from 'pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart'.
-// Try changing type arguments so that they conform to the bounds.
-// typedef Baz2 = A<B<A<int>>>;
-//                  ^
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:7:11: Context: This is the type variable whose bound isn't conformed to.
-// typedef B<X extends A<X>> = A<X>;
-//           ^
-//
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:10:3: Error: Type argument 'A<int>' doesn't conform to the bound 'A<X>' of the type variable 'X' on 'B'.
-//  - 'A' is from 'pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart'.
-// Try changing type arguments so that they conform to the bounds.
-//   B<A<int>> x1;
-//   ^
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:7:11: Context: This is the type variable whose bound isn't conformed to.
-// typedef B<X extends A<X>> = A<X>;
-//           ^
-//
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:11:5: Error: Type argument 'A<int>' doesn't conform to the bound 'A<X>' of the type variable 'X' on 'B'.
-//  - 'A' is from 'pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart'.
-// Try changing type arguments so that they conform to the bounds.
-//   A<B<A<int>>> x2;
-//     ^
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:7:11: Context: This is the type variable whose bound isn't conformed to.
-// typedef B<X extends A<X>> = A<X>;
-//           ^
-//
-import self as self;
-import "dart:core" as core;
-
-typedef B<X extends self::A<X> = self::A<dynamic>> = self::A<X>;
-typedef Baz1 = self::A<self::A<core::int>>;
-typedef Baz2 = self::A<self::A<self::A<core::int>>>;
-class A<T extends core::Object? = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::T%>
-    : super core::Object::•()
-    ;
-}
-class Bar1<X extends self::A<self::A<core::int>> = self::A<self::A<core::int>>> extends core::Object {
-  synthetic constructor •() → self::Bar1<self::Bar1::X>
-    : super core::Object::•()
-    ;
-  method barBar11() → self::A<self::A<core::int>>
-    return throw 42;
-  method barBar12(self::A<self::A<core::int>> x) → dynamic
-    return throw 42;
-  method barBar13<X extends self::A<self::A<core::int>> = self::A<self::A<core::int>>>() → dynamic
-    return throw 42;
-}
-class Bar2<X extends self::A<self::A<self::A<core::int>>> = self::A<self::A<self::A<core::int>>>> extends core::Object {
-  synthetic constructor •() → self::Bar2<self::Bar2::X>
-    : super core::Object::•()
-    ;
-  method barBar21() → self::A<self::A<self::A<core::int>>>
-    return throw 42;
-  method barBar22(self::A<self::A<self::A<core::int>>> x) → dynamic
-    return throw 42;
-  method barBar23<X extends self::A<self::A<self::A<core::int>>> = self::A<self::A<self::A<core::int>>>>() → dynamic
-    return throw 42;
-}
-static method foo() → dynamic {
-  self::A<self::A<core::int>> x1;
-  self::A<self::A<self::A<core::int>>> x2;
-}
-static method bar1a() → self::A<self::A<core::int>>
-  return throw 42;
-static method bar1b() → self::A<self::A<self::A<core::int>>>
-  return throw 42;
-static method bar2a(self::A<self::A<core::int>> x) → dynamic
-  return throw 42;
-static method bar2b(self::A<self::A<self::A<core::int>>> x) → dynamic
-  return throw 42;
-static method bar3a<X extends self::A<self::A<core::int>> = self::A<self::A<core::int>>>() → dynamic
-  return throw 42;
-static method bar3b<X extends self::A<self::A<self::A<core::int>>> = self::A<self::A<self::A<core::int>>>>() → dynamic
-  return throw 42;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart.textual_outline.expect b/pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart.textual_outline.expect
deleted file mode 100644
index 2836a16..0000000
--- a/pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart.textual_outline.expect
+++ /dev/null
@@ -1,22 +0,0 @@
-class A<T> {}
-typedef B<X extends A<X>> = A<X>;
-foo() {}
-B<A<int>> bar1a() => throw 42;
-A<B<A<int>>> bar1b() => throw 42;
-bar2a(B<A<int>> x) => throw 42;
-bar2b(A<B<A<int>>> x) => throw 42;
-bar3a<X extends B<A<int>>>() => throw 42;
-bar3b<X extends A<B<A<int>>>>() => throw 42;
-class Bar1<X extends B<A<int>>> {
-  B<A<int>> barBar11() => throw 42;
-  barBar12(B<A<int>> x) => throw 42;
-  barBar13<X extends B<A<int>>>() => throw 42;
-}
-class Bar2<X extends A<B<A<int>>>> {
-  A<B<A<int>>> barBar21() => throw 42;
-  barBar22(A<B<A<int>>> x) => throw 42;
-  barBar23<X extends A<B<A<int>>>>() => throw 42;
-}
-typedef Baz1 = B<A<int>>;
-typedef Baz2 = A<B<A<int>>>;
-main() {}
diff --git a/pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart.weak.expect b/pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart.weak.expect
deleted file mode 100644
index 7506643..0000000
--- a/pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart.weak.expect
+++ /dev/null
@@ -1,216 +0,0 @@
-library /*isNonNullableByDefault*/;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:20:17: Error: Type argument 'A<int>' doesn't conform to the bound 'A<X>' of the type variable 'X' on 'B'.
-//  - 'A' is from 'pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart'.
-// Try changing type arguments so that they conform to the bounds.
-// bar3a<X extends B<A<int>>>() => throw 42;
-//                 ^
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:7:11: Context: This is the type variable whose bound isn't conformed to.
-// typedef B<X extends A<X>> = A<X>;
-//           ^
-//
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:21:19: Error: Type argument 'A<int>' doesn't conform to the bound 'A<X>' of the type variable 'X' on 'B'.
-//  - 'A' is from 'pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart'.
-// Try changing type arguments so that they conform to the bounds.
-// bar3b<X extends A<B<A<int>>>>() => throw 42;
-//                   ^
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:7:11: Context: This is the type variable whose bound isn't conformed to.
-// typedef B<X extends A<X>> = A<X>;
-//           ^
-//
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:23:22: Error: Type argument 'A<int>' doesn't conform to the bound 'A<X>' of the type variable 'X' on 'B'.
-//  - 'A' is from 'pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart'.
-// Try changing type arguments so that they conform to the bounds.
-// class Bar1<X extends B<A<int>>> {
-//                      ^
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:7:11: Context: This is the type variable whose bound isn't conformed to.
-// typedef B<X extends A<X>> = A<X>;
-//           ^
-//
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:26:22: Error: Type argument 'A<int>' doesn't conform to the bound 'A<X>' of the type variable 'X' on 'B'.
-//  - 'A' is from 'pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart'.
-// Try changing type arguments so that they conform to the bounds.
-//   barBar13<X extends B<A<int>>>() => throw 42;
-//                      ^
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:7:11: Context: This is the type variable whose bound isn't conformed to.
-// typedef B<X extends A<X>> = A<X>;
-//           ^
-//
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:29:24: Error: Type argument 'A<int>' doesn't conform to the bound 'A<X>' of the type variable 'X' on 'B'.
-//  - 'A' is from 'pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart'.
-// Try changing type arguments so that they conform to the bounds.
-// class Bar2<X extends A<B<A<int>>>> {
-//                        ^
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:7:11: Context: This is the type variable whose bound isn't conformed to.
-// typedef B<X extends A<X>> = A<X>;
-//           ^
-//
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:32:24: Error: Type argument 'A<int>' doesn't conform to the bound 'A<X>' of the type variable 'X' on 'B'.
-//  - 'A' is from 'pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart'.
-// Try changing type arguments so that they conform to the bounds.
-//   barBar23<X extends A<B<A<int>>>>() => throw 42;
-//                        ^
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:7:11: Context: This is the type variable whose bound isn't conformed to.
-// typedef B<X extends A<X>> = A<X>;
-//           ^
-//
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:14:1: Error: Type argument 'A<int>' doesn't conform to the bound 'A<X>' of the type variable 'X' on 'B'.
-//  - 'A' is from 'pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart'.
-// Try changing type arguments so that they conform to the bounds.
-// B<A<int>> bar1a() => throw 42;
-// ^
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:7:11: Context: This is the type variable whose bound isn't conformed to.
-// typedef B<X extends A<X>> = A<X>;
-//           ^
-//
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:15:3: Error: Type argument 'A<int>' doesn't conform to the bound 'A<X>' of the type variable 'X' on 'B'.
-//  - 'A' is from 'pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart'.
-// Try changing type arguments so that they conform to the bounds.
-// A<B<A<int>>> bar1b() => throw 42;
-//   ^
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:7:11: Context: This is the type variable whose bound isn't conformed to.
-// typedef B<X extends A<X>> = A<X>;
-//           ^
-//
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:17:7: Error: Type argument 'A<int>' doesn't conform to the bound 'A<X>' of the type variable 'X' on 'B'.
-//  - 'A' is from 'pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart'.
-// Try changing type arguments so that they conform to the bounds.
-// bar2a(B<A<int>> x) => throw 42;
-//       ^
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:7:11: Context: This is the type variable whose bound isn't conformed to.
-// typedef B<X extends A<X>> = A<X>;
-//           ^
-//
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:18:9: Error: Type argument 'A<int>' doesn't conform to the bound 'A<X>' of the type variable 'X' on 'B'.
-//  - 'A' is from 'pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart'.
-// Try changing type arguments so that they conform to the bounds.
-// bar2b(A<B<A<int>>> x) => throw 42;
-//         ^
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:7:11: Context: This is the type variable whose bound isn't conformed to.
-// typedef B<X extends A<X>> = A<X>;
-//           ^
-//
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:24:3: Error: Type argument 'A<int>' doesn't conform to the bound 'A<X>' of the type variable 'X' on 'B'.
-//  - 'A' is from 'pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart'.
-// Try changing type arguments so that they conform to the bounds.
-//   B<A<int>> barBar11() => throw 42;
-//   ^
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:7:11: Context: This is the type variable whose bound isn't conformed to.
-// typedef B<X extends A<X>> = A<X>;
-//           ^
-//
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:25:12: Error: Type argument 'A<int>' doesn't conform to the bound 'A<X>' of the type variable 'X' on 'B'.
-//  - 'A' is from 'pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart'.
-// Try changing type arguments so that they conform to the bounds.
-//   barBar12(B<A<int>> x) => throw 42;
-//            ^
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:7:11: Context: This is the type variable whose bound isn't conformed to.
-// typedef B<X extends A<X>> = A<X>;
-//           ^
-//
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:30:5: Error: Type argument 'A<int>' doesn't conform to the bound 'A<X>' of the type variable 'X' on 'B'.
-//  - 'A' is from 'pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart'.
-// Try changing type arguments so that they conform to the bounds.
-//   A<B<A<int>>> barBar21() => throw 42;
-//     ^
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:7:11: Context: This is the type variable whose bound isn't conformed to.
-// typedef B<X extends A<X>> = A<X>;
-//           ^
-//
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:31:14: Error: Type argument 'A<int>' doesn't conform to the bound 'A<X>' of the type variable 'X' on 'B'.
-//  - 'A' is from 'pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart'.
-// Try changing type arguments so that they conform to the bounds.
-//   barBar22(A<B<A<int>>> x) => throw 42;
-//              ^
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:7:11: Context: This is the type variable whose bound isn't conformed to.
-// typedef B<X extends A<X>> = A<X>;
-//           ^
-//
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:35:16: Error: Type argument 'A<int>' doesn't conform to the bound 'A<X>' of the type variable 'X' on 'B'.
-//  - 'A' is from 'pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart'.
-// Try changing type arguments so that they conform to the bounds.
-// typedef Baz1 = B<A<int>>;
-//                ^
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:7:11: Context: This is the type variable whose bound isn't conformed to.
-// typedef B<X extends A<X>> = A<X>;
-//           ^
-//
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:36:18: Error: Type argument 'A<int>' doesn't conform to the bound 'A<X>' of the type variable 'X' on 'B'.
-//  - 'A' is from 'pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart'.
-// Try changing type arguments so that they conform to the bounds.
-// typedef Baz2 = A<B<A<int>>>;
-//                  ^
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:7:11: Context: This is the type variable whose bound isn't conformed to.
-// typedef B<X extends A<X>> = A<X>;
-//           ^
-//
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:10:3: Error: Type argument 'A<int>' doesn't conform to the bound 'A<X>' of the type variable 'X' on 'B'.
-//  - 'A' is from 'pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart'.
-// Try changing type arguments so that they conform to the bounds.
-//   B<A<int>> x1;
-//   ^
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:7:11: Context: This is the type variable whose bound isn't conformed to.
-// typedef B<X extends A<X>> = A<X>;
-//           ^
-//
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:11:5: Error: Type argument 'A<int>' doesn't conform to the bound 'A<X>' of the type variable 'X' on 'B'.
-//  - 'A' is from 'pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart'.
-// Try changing type arguments so that they conform to the bounds.
-//   A<B<A<int>>> x2;
-//     ^
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:7:11: Context: This is the type variable whose bound isn't conformed to.
-// typedef B<X extends A<X>> = A<X>;
-//           ^
-//
-import self as self;
-import "dart:core" as core;
-
-typedef B<X extends self::A<X> = self::A<dynamic>> = self::A<X>;
-typedef Baz1 = self::A<self::A<core::int>>;
-typedef Baz2 = self::A<self::A<self::A<core::int>>>;
-class A<T extends core::Object? = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::T%>
-    : super core::Object::•()
-    ;
-}
-class Bar1<X extends self::A<self::A<core::int>> = self::A<self::A<core::int>>> extends core::Object {
-  synthetic constructor •() → self::Bar1<self::Bar1::X>
-    : super core::Object::•()
-    ;
-  method barBar11() → self::A<self::A<core::int>>
-    return throw 42;
-  method barBar12(self::A<self::A<core::int>> x) → dynamic
-    return throw 42;
-  method barBar13<X extends self::A<self::A<core::int>> = self::A<self::A<core::int>>>() → dynamic
-    return throw 42;
-}
-class Bar2<X extends self::A<self::A<self::A<core::int>>> = self::A<self::A<self::A<core::int>>>> extends core::Object {
-  synthetic constructor •() → self::Bar2<self::Bar2::X>
-    : super core::Object::•()
-    ;
-  method barBar21() → self::A<self::A<self::A<core::int>>>
-    return throw 42;
-  method barBar22(self::A<self::A<self::A<core::int>>> x) → dynamic
-    return throw 42;
-  method barBar23<X extends self::A<self::A<self::A<core::int>>> = self::A<self::A<self::A<core::int>>>>() → dynamic
-    return throw 42;
-}
-static method foo() → dynamic {
-  self::A<self::A<core::int>> x1;
-  self::A<self::A<self::A<core::int>>> x2;
-}
-static method bar1a() → self::A<self::A<core::int>>
-  return throw 42;
-static method bar1b() → self::A<self::A<self::A<core::int>>>
-  return throw 42;
-static method bar2a(self::A<self::A<core::int>> x) → dynamic
-  return throw 42;
-static method bar2b(self::A<self::A<self::A<core::int>>> x) → dynamic
-  return throw 42;
-static method bar3a<X extends self::A<self::A<core::int>> = self::A<self::A<core::int>>>() → dynamic
-  return throw 42;
-static method bar3b<X extends self::A<self::A<self::A<core::int>>> = self::A<self::A<self::A<core::int>>>>() → dynamic
-  return throw 42;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart.weak.outline.expect b/pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart.weak.outline.expect
deleted file mode 100644
index e66dde1..0000000
--- a/pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart.weak.outline.expect
+++ /dev/null
@@ -1,194 +0,0 @@
-library /*isNonNullableByDefault*/;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:20:17: Error: Type argument 'A<int>' doesn't conform to the bound 'A<X>' of the type variable 'X' on 'B'.
-//  - 'A' is from 'pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart'.
-// Try changing type arguments so that they conform to the bounds.
-// bar3a<X extends B<A<int>>>() => throw 42;
-//                 ^
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:7:11: Context: This is the type variable whose bound isn't conformed to.
-// typedef B<X extends A<X>> = A<X>;
-//           ^
-//
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:21:19: Error: Type argument 'A<int>' doesn't conform to the bound 'A<X>' of the type variable 'X' on 'B'.
-//  - 'A' is from 'pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart'.
-// Try changing type arguments so that they conform to the bounds.
-// bar3b<X extends A<B<A<int>>>>() => throw 42;
-//                   ^
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:7:11: Context: This is the type variable whose bound isn't conformed to.
-// typedef B<X extends A<X>> = A<X>;
-//           ^
-//
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:23:22: Error: Type argument 'A<int>' doesn't conform to the bound 'A<X>' of the type variable 'X' on 'B'.
-//  - 'A' is from 'pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart'.
-// Try changing type arguments so that they conform to the bounds.
-// class Bar1<X extends B<A<int>>> {
-//                      ^
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:7:11: Context: This is the type variable whose bound isn't conformed to.
-// typedef B<X extends A<X>> = A<X>;
-//           ^
-//
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:26:22: Error: Type argument 'A<int>' doesn't conform to the bound 'A<X>' of the type variable 'X' on 'B'.
-//  - 'A' is from 'pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart'.
-// Try changing type arguments so that they conform to the bounds.
-//   barBar13<X extends B<A<int>>>() => throw 42;
-//                      ^
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:7:11: Context: This is the type variable whose bound isn't conformed to.
-// typedef B<X extends A<X>> = A<X>;
-//           ^
-//
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:29:24: Error: Type argument 'A<int>' doesn't conform to the bound 'A<X>' of the type variable 'X' on 'B'.
-//  - 'A' is from 'pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart'.
-// Try changing type arguments so that they conform to the bounds.
-// class Bar2<X extends A<B<A<int>>>> {
-//                        ^
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:7:11: Context: This is the type variable whose bound isn't conformed to.
-// typedef B<X extends A<X>> = A<X>;
-//           ^
-//
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:32:24: Error: Type argument 'A<int>' doesn't conform to the bound 'A<X>' of the type variable 'X' on 'B'.
-//  - 'A' is from 'pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart'.
-// Try changing type arguments so that they conform to the bounds.
-//   barBar23<X extends A<B<A<int>>>>() => throw 42;
-//                        ^
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:7:11: Context: This is the type variable whose bound isn't conformed to.
-// typedef B<X extends A<X>> = A<X>;
-//           ^
-//
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:14:1: Error: Type argument 'A<int>' doesn't conform to the bound 'A<X>' of the type variable 'X' on 'B'.
-//  - 'A' is from 'pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart'.
-// Try changing type arguments so that they conform to the bounds.
-// B<A<int>> bar1a() => throw 42;
-// ^
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:7:11: Context: This is the type variable whose bound isn't conformed to.
-// typedef B<X extends A<X>> = A<X>;
-//           ^
-//
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:15:3: Error: Type argument 'A<int>' doesn't conform to the bound 'A<X>' of the type variable 'X' on 'B'.
-//  - 'A' is from 'pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart'.
-// Try changing type arguments so that they conform to the bounds.
-// A<B<A<int>>> bar1b() => throw 42;
-//   ^
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:7:11: Context: This is the type variable whose bound isn't conformed to.
-// typedef B<X extends A<X>> = A<X>;
-//           ^
-//
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:17:7: Error: Type argument 'A<int>' doesn't conform to the bound 'A<X>' of the type variable 'X' on 'B'.
-//  - 'A' is from 'pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart'.
-// Try changing type arguments so that they conform to the bounds.
-// bar2a(B<A<int>> x) => throw 42;
-//       ^
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:7:11: Context: This is the type variable whose bound isn't conformed to.
-// typedef B<X extends A<X>> = A<X>;
-//           ^
-//
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:18:9: Error: Type argument 'A<int>' doesn't conform to the bound 'A<X>' of the type variable 'X' on 'B'.
-//  - 'A' is from 'pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart'.
-// Try changing type arguments so that they conform to the bounds.
-// bar2b(A<B<A<int>>> x) => throw 42;
-//         ^
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:7:11: Context: This is the type variable whose bound isn't conformed to.
-// typedef B<X extends A<X>> = A<X>;
-//           ^
-//
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:24:3: Error: Type argument 'A<int>' doesn't conform to the bound 'A<X>' of the type variable 'X' on 'B'.
-//  - 'A' is from 'pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart'.
-// Try changing type arguments so that they conform to the bounds.
-//   B<A<int>> barBar11() => throw 42;
-//   ^
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:7:11: Context: This is the type variable whose bound isn't conformed to.
-// typedef B<X extends A<X>> = A<X>;
-//           ^
-//
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:25:12: Error: Type argument 'A<int>' doesn't conform to the bound 'A<X>' of the type variable 'X' on 'B'.
-//  - 'A' is from 'pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart'.
-// Try changing type arguments so that they conform to the bounds.
-//   barBar12(B<A<int>> x) => throw 42;
-//            ^
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:7:11: Context: This is the type variable whose bound isn't conformed to.
-// typedef B<X extends A<X>> = A<X>;
-//           ^
-//
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:30:5: Error: Type argument 'A<int>' doesn't conform to the bound 'A<X>' of the type variable 'X' on 'B'.
-//  - 'A' is from 'pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart'.
-// Try changing type arguments so that they conform to the bounds.
-//   A<B<A<int>>> barBar21() => throw 42;
-//     ^
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:7:11: Context: This is the type variable whose bound isn't conformed to.
-// typedef B<X extends A<X>> = A<X>;
-//           ^
-//
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:31:14: Error: Type argument 'A<int>' doesn't conform to the bound 'A<X>' of the type variable 'X' on 'B'.
-//  - 'A' is from 'pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart'.
-// Try changing type arguments so that they conform to the bounds.
-//   barBar22(A<B<A<int>>> x) => throw 42;
-//              ^
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:7:11: Context: This is the type variable whose bound isn't conformed to.
-// typedef B<X extends A<X>> = A<X>;
-//           ^
-//
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:35:16: Error: Type argument 'A<int>' doesn't conform to the bound 'A<X>' of the type variable 'X' on 'B'.
-//  - 'A' is from 'pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart'.
-// Try changing type arguments so that they conform to the bounds.
-// typedef Baz1 = B<A<int>>;
-//                ^
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:7:11: Context: This is the type variable whose bound isn't conformed to.
-// typedef B<X extends A<X>> = A<X>;
-//           ^
-//
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:36:18: Error: Type argument 'A<int>' doesn't conform to the bound 'A<X>' of the type variable 'X' on 'B'.
-//  - 'A' is from 'pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart'.
-// Try changing type arguments so that they conform to the bounds.
-// typedef Baz2 = A<B<A<int>>>;
-//                  ^
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:7:11: Context: This is the type variable whose bound isn't conformed to.
-// typedef B<X extends A<X>> = A<X>;
-//           ^
-//
-import self as self;
-import "dart:core" as core;
-
-typedef B<X extends self::A<X> = self::A<dynamic>> = self::A<X>;
-typedef Baz1 = self::A<self::A<core::int>>;
-typedef Baz2 = self::A<self::A<self::A<core::int>>>;
-class A<T extends core::Object? = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::T%>
-    ;
-}
-class Bar1<X extends self::A<self::A<core::int>> = self::A<self::A<core::int>>> extends core::Object {
-  synthetic constructor •() → self::Bar1<self::Bar1::X>
-    ;
-  method barBar11() → self::A<self::A<core::int>>
-    ;
-  method barBar12(self::A<self::A<core::int>> x) → dynamic
-    ;
-  method barBar13<X extends self::A<self::A<core::int>> = self::A<self::A<core::int>>>() → dynamic
-    ;
-}
-class Bar2<X extends self::A<self::A<self::A<core::int>>> = self::A<self::A<self::A<core::int>>>> extends core::Object {
-  synthetic constructor •() → self::Bar2<self::Bar2::X>
-    ;
-  method barBar21() → self::A<self::A<self::A<core::int>>>
-    ;
-  method barBar22(self::A<self::A<self::A<core::int>>> x) → dynamic
-    ;
-  method barBar23<X extends self::A<self::A<self::A<core::int>>> = self::A<self::A<self::A<core::int>>>>() → dynamic
-    ;
-}
-static method foo() → dynamic
-  ;
-static method bar1a() → self::A<self::A<core::int>>
-  ;
-static method bar1b() → self::A<self::A<self::A<core::int>>>
-  ;
-static method bar2a(self::A<self::A<core::int>> x) → dynamic
-  ;
-static method bar2b(self::A<self::A<self::A<core::int>>> x) → dynamic
-  ;
-static method bar3a<X extends self::A<self::A<core::int>> = self::A<self::A<core::int>>>() → dynamic
-  ;
-static method bar3b<X extends self::A<self::A<self::A<core::int>>> = self::A<self::A<self::A<core::int>>>>() → dynamic
-  ;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart.weak.transformed.expect b/pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart.weak.transformed.expect
deleted file mode 100644
index 7506643..0000000
--- a/pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart.weak.transformed.expect
+++ /dev/null
@@ -1,216 +0,0 @@
-library /*isNonNullableByDefault*/;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:20:17: Error: Type argument 'A<int>' doesn't conform to the bound 'A<X>' of the type variable 'X' on 'B'.
-//  - 'A' is from 'pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart'.
-// Try changing type arguments so that they conform to the bounds.
-// bar3a<X extends B<A<int>>>() => throw 42;
-//                 ^
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:7:11: Context: This is the type variable whose bound isn't conformed to.
-// typedef B<X extends A<X>> = A<X>;
-//           ^
-//
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:21:19: Error: Type argument 'A<int>' doesn't conform to the bound 'A<X>' of the type variable 'X' on 'B'.
-//  - 'A' is from 'pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart'.
-// Try changing type arguments so that they conform to the bounds.
-// bar3b<X extends A<B<A<int>>>>() => throw 42;
-//                   ^
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:7:11: Context: This is the type variable whose bound isn't conformed to.
-// typedef B<X extends A<X>> = A<X>;
-//           ^
-//
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:23:22: Error: Type argument 'A<int>' doesn't conform to the bound 'A<X>' of the type variable 'X' on 'B'.
-//  - 'A' is from 'pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart'.
-// Try changing type arguments so that they conform to the bounds.
-// class Bar1<X extends B<A<int>>> {
-//                      ^
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:7:11: Context: This is the type variable whose bound isn't conformed to.
-// typedef B<X extends A<X>> = A<X>;
-//           ^
-//
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:26:22: Error: Type argument 'A<int>' doesn't conform to the bound 'A<X>' of the type variable 'X' on 'B'.
-//  - 'A' is from 'pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart'.
-// Try changing type arguments so that they conform to the bounds.
-//   barBar13<X extends B<A<int>>>() => throw 42;
-//                      ^
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:7:11: Context: This is the type variable whose bound isn't conformed to.
-// typedef B<X extends A<X>> = A<X>;
-//           ^
-//
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:29:24: Error: Type argument 'A<int>' doesn't conform to the bound 'A<X>' of the type variable 'X' on 'B'.
-//  - 'A' is from 'pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart'.
-// Try changing type arguments so that they conform to the bounds.
-// class Bar2<X extends A<B<A<int>>>> {
-//                        ^
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:7:11: Context: This is the type variable whose bound isn't conformed to.
-// typedef B<X extends A<X>> = A<X>;
-//           ^
-//
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:32:24: Error: Type argument 'A<int>' doesn't conform to the bound 'A<X>' of the type variable 'X' on 'B'.
-//  - 'A' is from 'pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart'.
-// Try changing type arguments so that they conform to the bounds.
-//   barBar23<X extends A<B<A<int>>>>() => throw 42;
-//                        ^
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:7:11: Context: This is the type variable whose bound isn't conformed to.
-// typedef B<X extends A<X>> = A<X>;
-//           ^
-//
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:14:1: Error: Type argument 'A<int>' doesn't conform to the bound 'A<X>' of the type variable 'X' on 'B'.
-//  - 'A' is from 'pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart'.
-// Try changing type arguments so that they conform to the bounds.
-// B<A<int>> bar1a() => throw 42;
-// ^
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:7:11: Context: This is the type variable whose bound isn't conformed to.
-// typedef B<X extends A<X>> = A<X>;
-//           ^
-//
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:15:3: Error: Type argument 'A<int>' doesn't conform to the bound 'A<X>' of the type variable 'X' on 'B'.
-//  - 'A' is from 'pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart'.
-// Try changing type arguments so that they conform to the bounds.
-// A<B<A<int>>> bar1b() => throw 42;
-//   ^
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:7:11: Context: This is the type variable whose bound isn't conformed to.
-// typedef B<X extends A<X>> = A<X>;
-//           ^
-//
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:17:7: Error: Type argument 'A<int>' doesn't conform to the bound 'A<X>' of the type variable 'X' on 'B'.
-//  - 'A' is from 'pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart'.
-// Try changing type arguments so that they conform to the bounds.
-// bar2a(B<A<int>> x) => throw 42;
-//       ^
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:7:11: Context: This is the type variable whose bound isn't conformed to.
-// typedef B<X extends A<X>> = A<X>;
-//           ^
-//
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:18:9: Error: Type argument 'A<int>' doesn't conform to the bound 'A<X>' of the type variable 'X' on 'B'.
-//  - 'A' is from 'pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart'.
-// Try changing type arguments so that they conform to the bounds.
-// bar2b(A<B<A<int>>> x) => throw 42;
-//         ^
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:7:11: Context: This is the type variable whose bound isn't conformed to.
-// typedef B<X extends A<X>> = A<X>;
-//           ^
-//
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:24:3: Error: Type argument 'A<int>' doesn't conform to the bound 'A<X>' of the type variable 'X' on 'B'.
-//  - 'A' is from 'pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart'.
-// Try changing type arguments so that they conform to the bounds.
-//   B<A<int>> barBar11() => throw 42;
-//   ^
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:7:11: Context: This is the type variable whose bound isn't conformed to.
-// typedef B<X extends A<X>> = A<X>;
-//           ^
-//
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:25:12: Error: Type argument 'A<int>' doesn't conform to the bound 'A<X>' of the type variable 'X' on 'B'.
-//  - 'A' is from 'pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart'.
-// Try changing type arguments so that they conform to the bounds.
-//   barBar12(B<A<int>> x) => throw 42;
-//            ^
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:7:11: Context: This is the type variable whose bound isn't conformed to.
-// typedef B<X extends A<X>> = A<X>;
-//           ^
-//
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:30:5: Error: Type argument 'A<int>' doesn't conform to the bound 'A<X>' of the type variable 'X' on 'B'.
-//  - 'A' is from 'pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart'.
-// Try changing type arguments so that they conform to the bounds.
-//   A<B<A<int>>> barBar21() => throw 42;
-//     ^
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:7:11: Context: This is the type variable whose bound isn't conformed to.
-// typedef B<X extends A<X>> = A<X>;
-//           ^
-//
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:31:14: Error: Type argument 'A<int>' doesn't conform to the bound 'A<X>' of the type variable 'X' on 'B'.
-//  - 'A' is from 'pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart'.
-// Try changing type arguments so that they conform to the bounds.
-//   barBar22(A<B<A<int>>> x) => throw 42;
-//              ^
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:7:11: Context: This is the type variable whose bound isn't conformed to.
-// typedef B<X extends A<X>> = A<X>;
-//           ^
-//
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:35:16: Error: Type argument 'A<int>' doesn't conform to the bound 'A<X>' of the type variable 'X' on 'B'.
-//  - 'A' is from 'pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart'.
-// Try changing type arguments so that they conform to the bounds.
-// typedef Baz1 = B<A<int>>;
-//                ^
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:7:11: Context: This is the type variable whose bound isn't conformed to.
-// typedef B<X extends A<X>> = A<X>;
-//           ^
-//
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:36:18: Error: Type argument 'A<int>' doesn't conform to the bound 'A<X>' of the type variable 'X' on 'B'.
-//  - 'A' is from 'pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart'.
-// Try changing type arguments so that they conform to the bounds.
-// typedef Baz2 = A<B<A<int>>>;
-//                  ^
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:7:11: Context: This is the type variable whose bound isn't conformed to.
-// typedef B<X extends A<X>> = A<X>;
-//           ^
-//
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:10:3: Error: Type argument 'A<int>' doesn't conform to the bound 'A<X>' of the type variable 'X' on 'B'.
-//  - 'A' is from 'pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart'.
-// Try changing type arguments so that they conform to the bounds.
-//   B<A<int>> x1;
-//   ^
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:7:11: Context: This is the type variable whose bound isn't conformed to.
-// typedef B<X extends A<X>> = A<X>;
-//           ^
-//
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:11:5: Error: Type argument 'A<int>' doesn't conform to the bound 'A<X>' of the type variable 'X' on 'B'.
-//  - 'A' is from 'pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart'.
-// Try changing type arguments so that they conform to the bounds.
-//   A<B<A<int>>> x2;
-//     ^
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks.dart:7:11: Context: This is the type variable whose bound isn't conformed to.
-// typedef B<X extends A<X>> = A<X>;
-//           ^
-//
-import self as self;
-import "dart:core" as core;
-
-typedef B<X extends self::A<X> = self::A<dynamic>> = self::A<X>;
-typedef Baz1 = self::A<self::A<core::int>>;
-typedef Baz2 = self::A<self::A<self::A<core::int>>>;
-class A<T extends core::Object? = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::T%>
-    : super core::Object::•()
-    ;
-}
-class Bar1<X extends self::A<self::A<core::int>> = self::A<self::A<core::int>>> extends core::Object {
-  synthetic constructor •() → self::Bar1<self::Bar1::X>
-    : super core::Object::•()
-    ;
-  method barBar11() → self::A<self::A<core::int>>
-    return throw 42;
-  method barBar12(self::A<self::A<core::int>> x) → dynamic
-    return throw 42;
-  method barBar13<X extends self::A<self::A<core::int>> = self::A<self::A<core::int>>>() → dynamic
-    return throw 42;
-}
-class Bar2<X extends self::A<self::A<self::A<core::int>>> = self::A<self::A<self::A<core::int>>>> extends core::Object {
-  synthetic constructor •() → self::Bar2<self::Bar2::X>
-    : super core::Object::•()
-    ;
-  method barBar21() → self::A<self::A<self::A<core::int>>>
-    return throw 42;
-  method barBar22(self::A<self::A<self::A<core::int>>> x) → dynamic
-    return throw 42;
-  method barBar23<X extends self::A<self::A<self::A<core::int>>> = self::A<self::A<self::A<core::int>>>>() → dynamic
-    return throw 42;
-}
-static method foo() → dynamic {
-  self::A<self::A<core::int>> x1;
-  self::A<self::A<self::A<core::int>>> x2;
-}
-static method bar1a() → self::A<self::A<core::int>>
-  return throw 42;
-static method bar1b() → self::A<self::A<self::A<core::int>>>
-  return throw 42;
-static method bar2a(self::A<self::A<core::int>> x) → dynamic
-  return throw 42;
-static method bar2b(self::A<self::A<self::A<core::int>>> x) → dynamic
-  return throw 42;
-static method bar3a<X extends self::A<self::A<core::int>> = self::A<self::A<core::int>>>() → dynamic
-  return throw 42;
-static method bar3b<X extends self::A<self::A<self::A<core::int>>> = self::A<self::A<self::A<core::int>>>>() → dynamic
-  return throw 42;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks_in_typedef.dart b/pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks_in_typedef.dart
deleted file mode 100644
index 1317c74..0000000
--- a/pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks_in_typedef.dart
+++ /dev/null
@@ -1,13 +0,0 @@
-// Copyright (c) 2021, the Dart project authors. Please see the AUTHORS file
-// for details. All rights reserved. Use of this source code is governed by a
-// BSD-style license that can be found in the LICENSE file.
-
-foo() {
-  A<String> a;
-}
-
-typedef A<X extends int> = B<String>;
-typedef B<X extends int> = C<String>;
-typedef C<X extends int> = X;
-
-main() {}
diff --git a/pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks_in_typedef.dart.strong.expect b/pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks_in_typedef.dart.strong.expect
deleted file mode 100644
index 2b7816b..0000000
--- a/pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks_in_typedef.dart.strong.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-library /*isNonNullableByDefault*/;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks_in_typedef.dart:10:28: Error: Type argument 'String' doesn't conform to the bound 'int' of the type variable 'X' on 'C'.
-// Try changing type arguments so that they conform to the bounds.
-// typedef B<X extends int> = C<String>;
-//                            ^
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks_in_typedef.dart:11:11: Context: This is the type variable whose bound isn't conformed to.
-// typedef C<X extends int> = X;
-//           ^
-//
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks_in_typedef.dart:9:28: Error: Type argument 'String' doesn't conform to the bound 'int' of the type variable 'X' on 'B'.
-// Try changing type arguments so that they conform to the bounds.
-// typedef A<X extends int> = B<String>;
-//                            ^
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks_in_typedef.dart:10:11: Context: This is the type variable whose bound isn't conformed to.
-// typedef B<X extends int> = C<String>;
-//           ^
-//
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks_in_typedef.dart:6:3: Error: Type argument 'String' doesn't conform to the bound 'int' of the type variable 'X' on 'A'.
-// Try changing type arguments so that they conform to the bounds.
-//   A<String> a;
-//   ^
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks_in_typedef.dart:9:11: Context: This is the type variable whose bound isn't conformed to.
-// typedef A<X extends int> = B<String>;
-//           ^
-//
-import self as self;
-import "dart:core" as core;
-
-typedef A<unrelated X extends core::int = core::int> = core::String;
-typedef B<unrelated X extends core::int = core::int> = core::String;
-typedef C<X extends core::int = core::int> = X;
-static method foo() → dynamic {
-  core::String a;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks_in_typedef.dart.strong.transformed.expect b/pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks_in_typedef.dart.strong.transformed.expect
deleted file mode 100644
index 2b7816b..0000000
--- a/pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks_in_typedef.dart.strong.transformed.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-library /*isNonNullableByDefault*/;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks_in_typedef.dart:10:28: Error: Type argument 'String' doesn't conform to the bound 'int' of the type variable 'X' on 'C'.
-// Try changing type arguments so that they conform to the bounds.
-// typedef B<X extends int> = C<String>;
-//                            ^
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks_in_typedef.dart:11:11: Context: This is the type variable whose bound isn't conformed to.
-// typedef C<X extends int> = X;
-//           ^
-//
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks_in_typedef.dart:9:28: Error: Type argument 'String' doesn't conform to the bound 'int' of the type variable 'X' on 'B'.
-// Try changing type arguments so that they conform to the bounds.
-// typedef A<X extends int> = B<String>;
-//                            ^
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks_in_typedef.dart:10:11: Context: This is the type variable whose bound isn't conformed to.
-// typedef B<X extends int> = C<String>;
-//           ^
-//
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks_in_typedef.dart:6:3: Error: Type argument 'String' doesn't conform to the bound 'int' of the type variable 'X' on 'A'.
-// Try changing type arguments so that they conform to the bounds.
-//   A<String> a;
-//   ^
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks_in_typedef.dart:9:11: Context: This is the type variable whose bound isn't conformed to.
-// typedef A<X extends int> = B<String>;
-//           ^
-//
-import self as self;
-import "dart:core" as core;
-
-typedef A<unrelated X extends core::int = core::int> = core::String;
-typedef B<unrelated X extends core::int = core::int> = core::String;
-typedef C<X extends core::int = core::int> = X;
-static method foo() → dynamic {
-  core::String a;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks_in_typedef.dart.textual_outline.expect b/pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks_in_typedef.dart.textual_outline.expect
deleted file mode 100644
index ebe8a0b..0000000
--- a/pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks_in_typedef.dart.textual_outline.expect
+++ /dev/null
@@ -1,5 +0,0 @@
-foo() {}
-typedef A<X extends int> = B<String>;
-typedef B<X extends int> = C<String>;
-typedef C<X extends int> = X;
-main() {}
diff --git a/pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks_in_typedef.dart.weak.expect b/pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks_in_typedef.dart.weak.expect
deleted file mode 100644
index 2b7816b..0000000
--- a/pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks_in_typedef.dart.weak.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-library /*isNonNullableByDefault*/;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks_in_typedef.dart:10:28: Error: Type argument 'String' doesn't conform to the bound 'int' of the type variable 'X' on 'C'.
-// Try changing type arguments so that they conform to the bounds.
-// typedef B<X extends int> = C<String>;
-//                            ^
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks_in_typedef.dart:11:11: Context: This is the type variable whose bound isn't conformed to.
-// typedef C<X extends int> = X;
-//           ^
-//
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks_in_typedef.dart:9:28: Error: Type argument 'String' doesn't conform to the bound 'int' of the type variable 'X' on 'B'.
-// Try changing type arguments so that they conform to the bounds.
-// typedef A<X extends int> = B<String>;
-//                            ^
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks_in_typedef.dart:10:11: Context: This is the type variable whose bound isn't conformed to.
-// typedef B<X extends int> = C<String>;
-//           ^
-//
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks_in_typedef.dart:6:3: Error: Type argument 'String' doesn't conform to the bound 'int' of the type variable 'X' on 'A'.
-// Try changing type arguments so that they conform to the bounds.
-//   A<String> a;
-//   ^
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks_in_typedef.dart:9:11: Context: This is the type variable whose bound isn't conformed to.
-// typedef A<X extends int> = B<String>;
-//           ^
-//
-import self as self;
-import "dart:core" as core;
-
-typedef A<unrelated X extends core::int = core::int> = core::String;
-typedef B<unrelated X extends core::int = core::int> = core::String;
-typedef C<X extends core::int = core::int> = X;
-static method foo() → dynamic {
-  core::String a;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks_in_typedef.dart.weak.outline.expect b/pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks_in_typedef.dart.weak.outline.expect
deleted file mode 100644
index 0649b07..0000000
--- a/pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks_in_typedef.dart.weak.outline.expect
+++ /dev/null
@@ -1,30 +0,0 @@
-library /*isNonNullableByDefault*/;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks_in_typedef.dart:10:28: Error: Type argument 'String' doesn't conform to the bound 'int' of the type variable 'X' on 'C'.
-// Try changing type arguments so that they conform to the bounds.
-// typedef B<X extends int> = C<String>;
-//                            ^
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks_in_typedef.dart:11:11: Context: This is the type variable whose bound isn't conformed to.
-// typedef C<X extends int> = X;
-//           ^
-//
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks_in_typedef.dart:9:28: Error: Type argument 'String' doesn't conform to the bound 'int' of the type variable 'X' on 'B'.
-// Try changing type arguments so that they conform to the bounds.
-// typedef A<X extends int> = B<String>;
-//                            ^
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks_in_typedef.dart:10:11: Context: This is the type variable whose bound isn't conformed to.
-// typedef B<X extends int> = C<String>;
-//           ^
-//
-import self as self;
-import "dart:core" as core;
-
-typedef A<unrelated X extends core::int = core::int> = core::String;
-typedef B<unrelated X extends core::int = core::int> = core::String;
-typedef C<X extends core::int = core::int> = X;
-static method foo() → dynamic
-  ;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks_in_typedef.dart.weak.transformed.expect b/pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks_in_typedef.dart.weak.transformed.expect
deleted file mode 100644
index 2b7816b..0000000
--- a/pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks_in_typedef.dart.weak.transformed.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-library /*isNonNullableByDefault*/;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks_in_typedef.dart:10:28: Error: Type argument 'String' doesn't conform to the bound 'int' of the type variable 'X' on 'C'.
-// Try changing type arguments so that they conform to the bounds.
-// typedef B<X extends int> = C<String>;
-//                            ^
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks_in_typedef.dart:11:11: Context: This is the type variable whose bound isn't conformed to.
-// typedef C<X extends int> = X;
-//           ^
-//
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks_in_typedef.dart:9:28: Error: Type argument 'String' doesn't conform to the bound 'int' of the type variable 'X' on 'B'.
-// Try changing type arguments so that they conform to the bounds.
-// typedef A<X extends int> = B<String>;
-//                            ^
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks_in_typedef.dart:10:11: Context: This is the type variable whose bound isn't conformed to.
-// typedef B<X extends int> = C<String>;
-//           ^
-//
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks_in_typedef.dart:6:3: Error: Type argument 'String' doesn't conform to the bound 'int' of the type variable 'X' on 'A'.
-// Try changing type arguments so that they conform to the bounds.
-//   A<String> a;
-//   ^
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks_in_typedef.dart:9:11: Context: This is the type variable whose bound isn't conformed to.
-// typedef A<X extends int> = B<String>;
-//           ^
-//
-import self as self;
-import "dart:core" as core;
-
-typedef A<unrelated X extends core::int = core::int> = core::String;
-typedef B<unrelated X extends core::int = core::int> = core::String;
-typedef C<X extends core::int = core::int> = X;
-static method foo() → dynamic {
-  core::String a;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks_no_bodies_lib.dart b/pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks_no_bodies_lib.dart
deleted file mode 100644
index e08489b..0000000
--- a/pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks_no_bodies_lib.dart
+++ /dev/null
@@ -1,9 +0,0 @@
-// Copyright (c) 2021, the Dart project authors. Please see the AUTHORS file
-// for details. All rights reserved. Use of this source code is governed by a
-// BSD-style license that can be found in the LICENSE file.
-
-class A {}
-
-typedef B<X extends String> = A;
-
-class C<Y extends B<int>> {}
diff --git a/pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks_no_bodies_main.dart b/pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks_no_bodies_main.dart
deleted file mode 100644
index 0123a2a..0000000
--- a/pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks_no_bodies_main.dart
+++ /dev/null
@@ -1,7 +0,0 @@
-// Copyright (c) 2021, the Dart project authors. Please see the AUTHORS file
-// for details. All rights reserved. Use of this source code is governed by a
-// BSD-style license that can be found in the LICENSE file.
-
-import './aliased_checks_no_bodies_lib.dart';
-
-main() {}
diff --git a/pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks_no_bodies_main.dart.strong.expect b/pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks_no_bodies_main.dart.strong.expect
deleted file mode 100644
index 381925d..0000000
--- a/pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks_no_bodies_main.dart.strong.expect
+++ /dev/null
@@ -1,33 +0,0 @@
-library /*isNonNullableByDefault*/;
-import self as self;
-
-import "org-dartlang-testcase:///aliased_checks_no_bodies_lib.dart";
-
-static method main() → dynamic {}
-
-library /*isNonNullableByDefault*/;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks_no_bodies_lib.dart:9:19: Error: Type argument 'int' doesn't conform to the bound 'String' of the type variable 'X' on 'B'.
-// Try changing type arguments so that they conform to the bounds.
-// class C<Y extends B<int>> {}
-//                   ^
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks_no_bodies_lib.dart:7:11: Context: This is the type variable whose bound isn't conformed to.
-// typedef B<X extends String> = A;
-//           ^
-//
-import self as self2;
-import "dart:core" as core;
-
-typedef B<unrelated X extends core::String = core::String> = self2::A;
-class A extends core::Object {
-  synthetic constructor •() → self2::A
-    : super core::Object::•()
-    ;
-}
-class C<Y extends self2::A = self2::A> extends core::Object {
-  synthetic constructor •() → self2::C<self2::C::Y>
-    : super core::Object::•()
-    ;
-}
diff --git a/pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks_no_bodies_main.dart.strong.transformed.expect b/pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks_no_bodies_main.dart.strong.transformed.expect
deleted file mode 100644
index 381925d..0000000
--- a/pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks_no_bodies_main.dart.strong.transformed.expect
+++ /dev/null
@@ -1,33 +0,0 @@
-library /*isNonNullableByDefault*/;
-import self as self;
-
-import "org-dartlang-testcase:///aliased_checks_no_bodies_lib.dart";
-
-static method main() → dynamic {}
-
-library /*isNonNullableByDefault*/;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks_no_bodies_lib.dart:9:19: Error: Type argument 'int' doesn't conform to the bound 'String' of the type variable 'X' on 'B'.
-// Try changing type arguments so that they conform to the bounds.
-// class C<Y extends B<int>> {}
-//                   ^
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks_no_bodies_lib.dart:7:11: Context: This is the type variable whose bound isn't conformed to.
-// typedef B<X extends String> = A;
-//           ^
-//
-import self as self2;
-import "dart:core" as core;
-
-typedef B<unrelated X extends core::String = core::String> = self2::A;
-class A extends core::Object {
-  synthetic constructor •() → self2::A
-    : super core::Object::•()
-    ;
-}
-class C<Y extends self2::A = self2::A> extends core::Object {
-  synthetic constructor •() → self2::C<self2::C::Y>
-    : super core::Object::•()
-    ;
-}
diff --git a/pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks_no_bodies_main.dart.textual_outline.expect b/pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks_no_bodies_main.dart.textual_outline.expect
deleted file mode 100644
index ac7da8d..0000000
--- a/pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks_no_bodies_main.dart.textual_outline.expect
+++ /dev/null
@@ -1,3 +0,0 @@
-import './aliased_checks_no_bodies_lib.dart';
-
-main() {}
diff --git a/pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks_no_bodies_main.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks_no_bodies_main.dart.textual_outline_modelled.expect
deleted file mode 100644
index ac7da8d..0000000
--- a/pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks_no_bodies_main.dart.textual_outline_modelled.expect
+++ /dev/null
@@ -1,3 +0,0 @@
-import './aliased_checks_no_bodies_lib.dart';
-
-main() {}
diff --git a/pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks_no_bodies_main.dart.weak.expect b/pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks_no_bodies_main.dart.weak.expect
deleted file mode 100644
index 381925d..0000000
--- a/pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks_no_bodies_main.dart.weak.expect
+++ /dev/null
@@ -1,33 +0,0 @@
-library /*isNonNullableByDefault*/;
-import self as self;
-
-import "org-dartlang-testcase:///aliased_checks_no_bodies_lib.dart";
-
-static method main() → dynamic {}
-
-library /*isNonNullableByDefault*/;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks_no_bodies_lib.dart:9:19: Error: Type argument 'int' doesn't conform to the bound 'String' of the type variable 'X' on 'B'.
-// Try changing type arguments so that they conform to the bounds.
-// class C<Y extends B<int>> {}
-//                   ^
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks_no_bodies_lib.dart:7:11: Context: This is the type variable whose bound isn't conformed to.
-// typedef B<X extends String> = A;
-//           ^
-//
-import self as self2;
-import "dart:core" as core;
-
-typedef B<unrelated X extends core::String = core::String> = self2::A;
-class A extends core::Object {
-  synthetic constructor •() → self2::A
-    : super core::Object::•()
-    ;
-}
-class C<Y extends self2::A = self2::A> extends core::Object {
-  synthetic constructor •() → self2::C<self2::C::Y>
-    : super core::Object::•()
-    ;
-}
diff --git a/pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks_no_bodies_main.dart.weak.outline.expect b/pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks_no_bodies_main.dart.weak.outline.expect
deleted file mode 100644
index ecbd101..0000000
--- a/pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks_no_bodies_main.dart.weak.outline.expect
+++ /dev/null
@@ -1,32 +0,0 @@
-library /*isNonNullableByDefault*/;
-import self as self;
-
-import "org-dartlang-testcase:///aliased_checks_no_bodies_lib.dart";
-
-static method main() → dynamic
-  ;
-
-library /*isNonNullableByDefault*/;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks_no_bodies_lib.dart:9:19: Error: Type argument 'int' doesn't conform to the bound 'String' of the type variable 'X' on 'B'.
-// Try changing type arguments so that they conform to the bounds.
-// class C<Y extends B<int>> {}
-//                   ^
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks_no_bodies_lib.dart:7:11: Context: This is the type variable whose bound isn't conformed to.
-// typedef B<X extends String> = A;
-//           ^
-//
-import self as self2;
-import "dart:core" as core;
-
-typedef B<unrelated X extends core::String = core::String> = self2::A;
-class A extends core::Object {
-  synthetic constructor •() → self2::A
-    ;
-}
-class C<Y extends self2::A = self2::A> extends core::Object {
-  synthetic constructor •() → self2::C<self2::C::Y>
-    ;
-}
diff --git a/pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks_no_bodies_main.dart.weak.transformed.expect b/pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks_no_bodies_main.dart.weak.transformed.expect
deleted file mode 100644
index 381925d..0000000
--- a/pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks_no_bodies_main.dart.weak.transformed.expect
+++ /dev/null
@@ -1,33 +0,0 @@
-library /*isNonNullableByDefault*/;
-import self as self;
-
-import "org-dartlang-testcase:///aliased_checks_no_bodies_lib.dart";
-
-static method main() → dynamic {}
-
-library /*isNonNullableByDefault*/;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks_no_bodies_lib.dart:9:19: Error: Type argument 'int' doesn't conform to the bound 'String' of the type variable 'X' on 'B'.
-// Try changing type arguments so that they conform to the bounds.
-// class C<Y extends B<int>> {}
-//                   ^
-// pkg/front_end/testcases/nonfunction_type_aliases/aliased_checks_no_bodies_lib.dart:7:11: Context: This is the type variable whose bound isn't conformed to.
-// typedef B<X extends String> = A;
-//           ^
-//
-import self as self2;
-import "dart:core" as core;
-
-typedef B<unrelated X extends core::String = core::String> = self2::A;
-class A extends core::Object {
-  synthetic constructor •() → self2::A
-    : super core::Object::•()
-    ;
-}
-class C<Y extends self2::A = self2::A> extends core::Object {
-  synthetic constructor •() → self2::C<self2::C::Y>
-    : super core::Object::•()
-    ;
-}
diff --git a/pkg/front_end/testcases/textual_outline.status b/pkg/front_end/testcases/textual_outline.status
index 1ca31da..a8397df 100644
--- a/pkg/front_end/testcases/textual_outline.status
+++ b/pkg/front_end/testcases/textual_outline.status
@@ -124,8 +124,6 @@
 nnbd_mixed/inheritance_from_opt_in: FormatterCrash
 nnbd_mixed/issue41597: FormatterCrash
 nnbd_mixed/null_safety_invalid_language_version: FormatterCrash
-nonfunction_type_aliases/aliased_checks: FormatterCrash
-nonfunction_type_aliases/aliased_checks_in_typedef: FormatterCrash
 nonfunction_type_aliases/issue41501: FormatterCrash
 nonfunction_type_aliases/issue42446: FormatterCrash
 nonfunction_type_aliases/issue45051: FormatterCrash
diff --git a/tools/VERSION b/tools/VERSION
index 5cfcf87..039ac60 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -27,5 +27,5 @@
 MAJOR 2
 MINOR 13
 PATCH 0
-PRERELEASE 175
+PRERELEASE 176
 PRERELEASE_PATCH 0
\ No newline at end of file