Files
sdk/tests/language/lazy/throwing_variable_test.dart
T
Robert Nystrom 89c7c0b6e0 Migrate language_2/lazy to NNBD.
Change-Id: Icd7ea40455f207eca1dc817ff86823cfabed3de0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/149042
Commit-Queue: Bob Nystrom <rnystrom@google.com>
Auto-Submit: Bob Nystrom <rnystrom@google.com>
Reviewed-by: Leaf Petersen <leafp@google.com>
2020-05-29 19:23:24 +00:00

26 lines
558 B
Dart

// Copyright (c) 2013, 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.
// Test that engines will not infer that [a] is always of type int.
import 'package:expect/expect.dart';
var a = foo();
foo() {
() => 42;
if (true) throw 'Sorry';
return 42;
}
main() {
try {
a;
} catch (e) {
// Ignore.
}
Expect.throws(() {
if (a is num) throw 'Test failed';
}, (error) => error == 'Sorry');
}