// 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. abstract class Link { factory Link.create() = LinkFactory.create; // ^^^^^^^^^^^^^^^^^^^^^ // [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.create() { return 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' LinkFactory._(); } main() { new Link.create(); }