mirror of
https://github.com/dart-lang/sdk
synced 2024-09-16 04:27:17 +00:00
d0ee565bf8
The bit vector representing the nullability of the types of a type argument vector was stored in reverse order. This caused a problem when a longer instantiated vector is reused for a shorter uninstantiated vector. This fixes https://github.com/dart-lang/sdk/issues/45529 TEST=added regression test Change-Id: I0e936e45d51fa896d7562f4f03c8878437eb464f Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/193751 Commit-Queue: Régis Crelier <regis@google.com> Reviewed-by: Alexander Markov <alexmarkov@google.com>
25 lines
526 B
Dart
25 lines
526 B
Dart
// 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";
|
|
|
|
void main() {
|
|
final baz = Foo<Null>().baz;
|
|
Expect.equals("Baz<Bar<Null>?>", baz.runtimeType.toString());
|
|
baz.v = baz.v;
|
|
}
|
|
|
|
class Bar<T> {}
|
|
|
|
class Foo<T> extends Quux<Bar<T>> {}
|
|
|
|
class Baz<T> {
|
|
Baz(this.v);
|
|
T v;
|
|
}
|
|
|
|
class Quux<T> {
|
|
final baz = Baz<T?>(null);
|
|
}
|