dart-sdk/tests/language/operator/and_operation_on_non_integer_operand_test.dart
Robert Nystrom 24b33dae89 Migrate language_2/operator to NNBD.
Change-Id: I90bc5ff6aae8998deb3cc28b1134c60058706f01
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/150185
Auto-Submit: Bob Nystrom <rnystrom@google.com>
Reviewed-by: Srujan Gaddam <srujzs@google.com>
Commit-Queue: Bob Nystrom <rnystrom@google.com>
2020-06-11 01:44:45 +00:00

22 lines
608 B
Dart

// Copyright (c) 2015, 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.
// Regression test for dart2js that used to miscompile boolean add operations
// if one of the operands was an int and the other was not (issue 22427).
import "package:expect/expect.dart";
class NotAnInt {
NotAnInt operator &(b) => this;
}
@pragma('dart2js:assumeDynamic')
@pragma('dart2js:noInline')
id(x) => x;
main() {
var a = id(new NotAnInt());
Expect.equals(a, a & 5 & 2);
}