anchor.diff:      CompilerContext.current.options.report(
           templateIllegalRecursiveType.withArguments(e.type).withoutLocation(),
           Severity.error);
  +  } finally {
  +    globalDebuggingNames = savedGlobalDebuggingNames;
     }
   }
   
  
positive.code:       onAmbiguousSupertypes: ignoreAmbiguousSupertypes);
    final typeEnvironment = new TypeEnvironment(coreTypes, hierarchy);
    libraries ??= component.libraries;
    try {
      final bytecodeGenerator = new BytecodeGenerator(
          component, coreTypes, hierarchy, typeEnvironment, options);
  
negative.code: import 'package:kernel/external_name.dart'
      show getExternalName, getNativeExtensionUris;
  import 'package:kernel/library_index.dart' show LibraryIndex;
  import 'package:kernel/text/ast_to_text.dart'
      show globalDebuggingNames, NameSystem;
  import 'package:kernel/type_algebra.dart'
      show Substitution, containsTypeVariable;
  import 'package:kernel/type_environment.dart' show TypeEnvironment;
  