dart-sdk/tests/language/redirecting/factory_infinite_steps_test.dart
Robert Nystrom cf5ba0b2aa Migrate language_2/redirecting to NNBD.
Change-Id: Idda1536f02c5c15653b94f1ed7f845cf3c86318d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/150464
Auto-Submit: Bob Nystrom <rnystrom@google.com>
Commit-Queue: Leaf Petersen <leafp@google.com>
Reviewed-by: Leaf Petersen <leafp@google.com>
2020-06-08 22:35:37 +00:00

26 lines
878 B
Dart

// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
// From Dart Language Specification, 0.12 M1, "7.6.2 Factories": It is
// a compile-time error if a redirecting factory constructor does not
// redirect to a non-redirecting factory constructor or to a
// generative constructor in a finite number of steps.
// TODO(ahe): The above specification will probably change to
// something like: "It is a compile-time error if a redirecting
// factory constructor redirects to itself, either directly or
// indirectly via a sequence of redirections."
class Foo extends Bar {
factory Foo() = Bar; //# 01: compile-time error
}
class Bar {
factory Bar() = Foo; //# 02: compile-time error
}
main() {
new Foo();
}