blob: 7cd3cfaa6d06bc2edbf954d04bd87d6187e0c475 [file] [log] [blame]
// 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.
// Regression test for https://github.com/dart-lang/sdk/issues/47425.
// Verifies that Type.operator== works on generic types which
// classes are not finalized.
// @dart = 2.9
import 'package:expect/expect.dart';
void testTypesEquality<A, B>(bool expected) {
Expect.equals(expected, A == B);
}
void withNewBox() {
Box();
testTypesEquality<Box<num>, Box<int>>(false);
}
void withoutNewBox() {
testTypesEquality<Box<num>, Box<int>>(false);
}
class Box<T> {}
void main() {
testTypesEquality<num, int>(false);
testTypesEquality<Box<num>, Box<int>>(false);
testTypesEquality<Box<num>, Box<num>>(true);
withoutNewBox();
withNewBox();
withoutNewBox();
testTypesEquality<Box<num>, Box<int>>(false);
testTypesEquality<Box<num>, Box<num>>(true);
}