blob: cbca1bf9abeeac556a799f65f8b42729717c916c [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>'.
}