// Copyright (c) 2021, 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.

import 'package:expect/expect.dart';

// Regression test for mis-optimized (a / b).runtimeType.

void main() {
  Type? t0;
  Type? t1;
  for (int i = 0; i < 2; i++) {
    t0 = i.runtimeType;
    t1 = ((i * 2) / 2).runtimeType;
  }
  final t2 = ((0 * 2) / 2).runtimeType;

  Expect.equals('int', '$t0');
  Expect.equals('int', '$t1');
  Expect.equals('int', '$t2');
}
