// Copyright (c) 2017, 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. class C { C(); factory C.fact() => D(); factory C.fact2() = D; C.nonFact(); C.nonFact2() : this.nonFact(); static void staticFunction(int i) {} } class D extends C {} void topLevelFunction(int i) {} test() { void localFunction(int i) {} List a = []; // ^^^^^^^^^^ // [analyzer] COMPILE_TIME_ERROR.INVALID_ASSIGNMENT // ^ // [cfe] A value of type 'List' can't be assigned to a variable of type 'List'. Map b = {}; // ^^^^^^^^^^^^^^^^^^ // [analyzer] COMPILE_TIME_ERROR.INVALID_ASSIGNMENT // ^ // [cfe] A value of type 'Map' can't be assigned to a variable of type 'Map'. Map c = {}; // ^^^^^^^^^^^^^^^ // [analyzer] COMPILE_TIME_ERROR.INVALID_ASSIGNMENT // ^ // [cfe] A value of type 'Map' can't be assigned to a variable of type 'Map'. int Function(Object) d = (int i) => i; // ^^^^^^^^^^^^ // [analyzer] COMPILE_TIME_ERROR.INVALID_ASSIGNMENT // [cfe] A value of type 'int Function(int)' can't be assigned to a variable of type 'int Function(Object)'. D e = new C.fact() as D; D f = new C.fact2() as D; D g = new C.nonFact(); // ^^^^^^^^^^^^^^^ // [analyzer] COMPILE_TIME_ERROR.INVALID_ASSIGNMENT // ^ // [cfe] A value of type 'C' can't be assigned to a variable of type 'D'. D h = new C.nonFact2(); // ^^^^^^^^^^^^^^^^ // [analyzer] COMPILE_TIME_ERROR.INVALID_ASSIGNMENT // ^ // [cfe] A value of type 'C' can't be assigned to a variable of type 'D'. void Function(Object) i = C.staticFunction; // ^^^^^^^^^^^^^^^^ // [analyzer] COMPILE_TIME_ERROR.INVALID_ASSIGNMENT // ^ // [cfe] A value of type 'void Function(int)' can't be assigned to a variable of type 'void Function(Object)'. void Function(Object) j = topLevelFunction; // ^^^^^^^^^^^^^^^^ // [analyzer] COMPILE_TIME_ERROR.INVALID_ASSIGNMENT // [cfe] A value of type 'void Function(int)' can't be assigned to a variable of type 'void Function(Object)'. void Function(Object) k = localFunction; // ^^^^^^^^^^^^^ // [analyzer] COMPILE_TIME_ERROR.INVALID_ASSIGNMENT // [cfe] A value of type 'void Function(int)' can't be assigned to a variable of type 'void Function(Object)'. } main() {}