// Formatted problems:
//
// pkg/front_end/testcases/rasta/bad_explicit_super_constructor.dart:10:20: Warning: Too few positional arguments: 1 required, 0 given.
//   const B() : super();
//                    ^

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

class A extends core::Object {
  constructor •(dynamic x) → self::A
    : super core::Object::•()
    ;
}
class B extends self::A {
  const constructor •() → self::B
    : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/rasta/bad_explicit_super_constructor.dart:10:20: Error: Too few positional arguments: 1 required, 0 given.
  const B() : super();
                   ^"
    ;
}
static method main() → dynamic {
  new self::B::•();
  const self::B::•();
}
