blob: 74b9e48316318de21872ab9d6547e15379d41885 [file] [log] [blame]
// Copyright (c) 2011, 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.
/**
* @assertion Consider a return statement s of the form return e?;
* ...
* It is a compile-time error if s is
* return;, unless T is void, dynamic, or Null
*
* @description Checks that there's no error when a statement of the form
* "return;" is used in a method that returns type dynamic, or a constructor.
*
* @static-clean
* @author rodionov
*/
abstract class I {
factory I() { return new C(); }
}
class C implements I {
C() { return; }
static sm() { return; }
get g { return; }
foo() { return; }
}
main() {
dynamic x = new C();
x = C.sm();
x = new C().foo();
x = new C().g;
x = new I();
}