library;
//
// Problems in library:
//
// pkg/front_end/testcases/rasta/bad_redirection.dart:6:9: Error: Only factory constructor can specify '=' redirection.
// Try making this a factory constructor, or remove the redirection.
//   Foo() = Bar;
//         ^
//
// pkg/front_end/testcases/rasta/bad_redirection.dart:6:9: Error: Expected a function body or '=>'.
// Try adding {}.
//   Foo() = Bar;
//         ^
//
// pkg/front_end/testcases/rasta/bad_redirection.dart:6:11: Error: Constructors can't have a return type.
// Try removing the return type.
//   Foo() = Bar;
//           ^
//
import self as self;
import "dart:core" as core;

class Foo extends core::Object {
  constructor •() → self::Foo
    : super core::Object::•()
    invalid-expression "pkg/front_end/testcases/rasta/bad_redirection.dart:6:11: Error: Constructors can't have a return type.
Try removing the return type.
  Foo() = Bar;
          ^";
}
class Bar extends self::Foo {
  static factory •() → self::Bar
    return null;
}
static method main() → dynamic {
  new self::Foo::•();
}
