// 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<T> implements A {
  factory B() = C.bar;
}

class C<T> implements B {
  factory C.bar() = C.foo;
  factory C.foo() = C
    .bar /// 01: compile-time error
;
  C();
}

main() {
  new A<int>.foo();
}

// 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();
}

Fix merge error in test.
Fix merge error in test.

R=ngeoffray@google.com

Review URL: https://codereview.chromium.org//24264002

git-svn-id: c93d8a2297af3b929165606efe145742a534bc71@27646 260f80e4-7a28-3924-810f-c04153c831b5
