Files
sdk/tests/language/generic/recursive_generic_test.dart
T
Mayank Patke 4bf7972e86 [web-fixit] Make generic/mixin language tests minification-agnostic
Change-Id: I3b485346ae4c08a3e09ed907a944d98431c4989d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/338945
Commit-Queue: Mayank Patke <fishythefish@google.com>
Reviewed-by: Bob Nystrom <rnystrom@google.com>
2023-11-29 21:40:21 +00:00

36 lines
759 B
Dart

// Copyright (c) 2016, 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";
abstract class S<T extends S<T>> {
m() => 123;
get S_T => T;
}
class C<T extends C<T>> extends S<C<T>> {
m() => 456;
get C_T => T;
}
class D extends C<D> {}
main() {
regress31434();
Expect.equals(new C<D>().m(), 456);
Expect.equals(new C<D>().C_T, D);
Expect.equals(new C<D>().S_T, C<D>);
}
class F<L, R> {}
class E<L, R> extends F<E<L, Object>, R> {}
regress31434() {
type<T>() => T;
dynamic e = new E<int, String>();
Expect.equals(e.runtimeType, type<E<int, String>>());
}