[dart2js] Add failing tests for issue #45046.

Bug: https://github.com/dart-lang/sdk/issues/45046
Change-Id: I6b0010b78c1781c9c264b9a479dc2136ded3105c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/185495
Reviewed-by: Stephen Adams <sra@google.com>
This commit is contained in:
Mayank Patke 2021-03-12 04:47:59 +00:00 committed by commit-bot@chromium.org
parent 2f3c274632
commit 97771fb2f2
2 changed files with 46 additions and 0 deletions

22
tests/web/45046_test.dart Normal file
View file

@ -0,0 +1,22 @@
// 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';
class A {}
class B extends A {}
class Foo<T> {}
T cast<T>(dynamic x) => x as T;
void test(Foo<A> Function(dynamic) f) {
var foo = Foo<B>();
Expect.identical(foo, f(foo));
}
void main() {
test(cast);
}

View file

@ -0,0 +1,24 @@
// 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.
// @dart = 2.7
import 'package:expect/expect.dart';
class A {}
class B extends A {}
class Foo<T> {}
T cast<T>(dynamic x) => x as T;
void test(Foo<A> Function(dynamic) f) {
var foo = Foo<B>();
Expect.identical(foo, f(foo));
}
void main() {
test(cast);
}