Skip to content

Commit dfce72b

Browse files
creliercommit-bot@chromium.org
authored andcommitted
[VM/nnbd] Fix canonicalization of type 'Never' (fixes #40249).
Change-Id: Ib3dc4fc6d31aeadb331fda017fc8b4f1a8ae8221 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134382 Reviewed-by: Alexander Markov <[email protected]> Commit-Queue: Régis Crelier <[email protected]>
1 parent 270829d commit dfce72b

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

runtime/vm/object.cc

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1041,7 +1041,13 @@ void Object::Init(Isolate* isolate) {
10411041
void_type_->SetCanonical();
10421042

10431043
cls = never_class_;
1044-
*never_type_ = Type::NewNonParameterizedType(cls);
1044+
*never_type_ =
1045+
Type::New(cls, Object::null_type_arguments(), TokenPosition::kNoSource,
1046+
Dart::non_nullable_flag() ? Nullability::kNonNullable
1047+
: Nullability::kLegacy);
1048+
never_type_->SetIsFinalized();
1049+
never_type_->ComputeHash();
1050+
never_type_->SetCanonical();
10451051

10461052
// Since TypeArguments objects are passed as function arguments, make them
10471053
// behave as Dart instances, although they are just VM objects.

0 commit comments

Comments
 (0)