blob: fab7dfba7aa2d7175b64fdaeca1be53ab31b56af [file] [log] [blame]
// Copyright (c) 2018, 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 It is a static error when the type of the iterator expression in a
/// synchronous for-in element may not be assigned to Iterable<T> for some type T
///
/// @description Checks that it is a static error when the type of the iterator
/// expression in a synchronous for-in element may not be assigned to
/// Iterable<T> for some type T.
/// @author sgrekhov@unipro.ru
main() {
[for (var i in "not iterable") i];
// ^^^^^^^^^^^^^^
// [analyzer] COMPILE_TIME_ERROR.FOR_IN_OF_INVALID_TYPE
// [cfe] The type 'String' used in the 'for' loop must implement 'Iterable<dynamic>'.
[for (var i in 3.14) i];
// ^^^^
// [analyzer] COMPILE_TIME_ERROR.FOR_IN_OF_INVALID_TYPE
// [cfe] The type 'double' used in the 'for' loop must implement 'Iterable<dynamic>'.
}