library /*isNonNullableByDefault*/;
//
// Problems in library:
//
// pkg/front_end/testcases/rasta/issue_000046.dart:6:13: Error: Expected '(' after this.
//   C c = new Object)();
//             ^^^^^^
//
// pkg/front_end/testcases/rasta/issue_000046.dart:6:13: Error: Expected ';' after this.
//   C c = new Object)();
//             ^^^^^^
//
// pkg/front_end/testcases/rasta/issue_000046.dart:6:19: Error: Expected a class member, but got ')'.
//   C c = new Object)();
//                   ^
//
// pkg/front_end/testcases/rasta/issue_000046.dart:6:20: Error: Expected an identifier, but got '('.
// Try inserting an identifier before '('.
//   C c = new Object)();
//                    ^
//
// pkg/front_end/testcases/rasta/issue_000046.dart:6:13: Error: A value of type 'Object' can't be assigned to a variable of type 'C'.
//  - 'Object' is from 'dart:core'.
//  - 'C' is from 'pkg/front_end/testcases/rasta/issue_000046.dart'.
//   C c = new Object)();
//             ^
//
import self as self;
import "dart:core" as core;

class C extends core::Object {
  field self::C c = invalid-expression "pkg/front_end/testcases/rasta/issue_000046.dart:6:13: Error: A value of type 'Object' can't be assigned to a variable of type 'C'.
 - 'Object' is from 'dart:core'.
 - 'C' is from 'pkg/front_end/testcases/rasta/issue_000046.dart'.
  C c = new Object)();
            ^" in new core::Object::•() as{TypeError,ForNonNullableByDefault} self::C;
  synthetic constructor •() → self::C
    : super core::Object::•()
    ;
}
