library /*isNonNullableByDefault*/;
//
// Problems in library:
//
// pkg/front_end/testcases/general/function_bad_use.dart:1:7: Error: Can't use 'Function' as a name here.
// class Function {}
//       ^^^^^^^^
//
// pkg/front_end/testcases/general/function_bad_use.dart:3:9: Error: Can't use 'Function' as a name here.
// class C<Function> {}
//         ^^^^^^^^
//
// pkg/front_end/testcases/general/function_bad_use.dart:5:9: Error: Can't use 'Function' as a name here.
// mixin M<Function> implements List<Function> {}
//         ^^^^^^^^
//
import self as self;
import "dart:core" as core;

class Function extends core::Object {
  synthetic constructor •() → self::Function
    : super core::Object::•()
    ;
}
class C<Function extends core::Object? = dynamic> extends core::Object {
  synthetic constructor •() → self::C<self::C::Function%>
    : super core::Object::•()
    ;
}
abstract class M<Function extends core::Object? = dynamic> extends core::Object implements core::List<self::M::Function%> /*isMixinDeclaration*/  {
}
static method main() → dynamic {}
