| // Copyright (c) 2013, 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. | |
| // Test that a cycle in redirecting factories leads to a compile-time error. | |
| class A { | |
| factory A.foo() = B; | |
| } | |
| class B implements A { | |
| factory B() = C.bar; | |
| } | |
| class C implements B { | |
| factory C.bar() = C.foo; | |
| factory C.foo() = C | |
| .bar /// 01: compile-time error | |
| ; | |
| C(); | |
| } | |
| main() { | |
| new A.foo(); | |
| } |