library;
//
// Problems in library:
//
// pkg/front_end/testcases/general_nnbd_opt_out/import_conflicting_types.dart:8:1: Error: 'Foo' is imported from both 'pkg/front_end/testcases/general_nnbd_opt_out/import_conflicting_types_lib1.dart' and 'pkg/front_end/testcases/general_nnbd_opt_out/import_conflicting_types_lib2.dart'.
// import 'import_conflicting_types_lib2.dart';
// ^^^
//
import self as self;

import "org-dartlang-testcase:///import_conflicting_types_lib1.dart";
import "org-dartlang-testcase:///import_conflicting_types_lib2.dart";

static method main() → dynamic {}
static method errors() → dynamic {
  invalid-type foo;
}

library;
import self as self2;
import "dart:core" as core;

class Foo extends core::Object {
  synthetic constructor •() → self2::Foo*
    : super core::Object::•()
    ;
}

library;
import self as self3;
import "dart:core" as core;

class Foo extends core::Object {
  synthetic constructor •() → self3::Foo*
    : super core::Object::•()
    ;
}
