// Copyright (c) 2016, 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. import 'package:expect/expect.dart'; abstract class Link { factory Link.Foo() = LinkFactory.Foo; // ^^^^^^^^^^^^^^^^^^ // [analyzer] COMPILE_TIME_ERROR.REDIRECT_TO_INVALID_RETURN_TYPE // [cfe] The constructor function type 'LinkFactory Function()' isn't a subtype of 'Link Function()'. } class LinkFactory { factory LinkFactory.Foo() = Foo; // ^^^ // [analyzer] COMPILE_TIME_ERROR.REDIRECT_TO_NON_CLASS // [cfe] Couldn't find constructor 'Foo'. // ^ // [cfe] Redirection constructor target not found: 'Foo' } main() { Expect.throws(() => new Link.Foo()); }