@@ -281,6 +281,30 @@ public static function dataIsSuperTypeOf(): array
281281 TrinaryLogic::createMaybe (),
282282 TrinaryLogic::createYes (),
283283 ],
284+ 23 => [
285+ $ templateType ('T ' , null ),
286+ new NeverType (),
287+ TrinaryLogic::createYes (), // T isSuperTypeTo *NEVER* - never is bottom type
288+ TrinaryLogic::createMaybe (), // *NEVER* isSuperTypeTo T - T could be never
289+ ],
290+ 24 => [
291+ $ templateType ('T ' , null ),
292+ new NonAcceptingNeverType (),
293+ TrinaryLogic::createYes (), // T isSuperTypeTo never - never is bottom type
294+ TrinaryLogic::createMaybe (), // never isSuperTypeTo T - T could be never
295+ ],
296+ 25 => [
297+ $ templateType ('T ' , new ObjectType ('DateTime ' )),
298+ new NeverType (),
299+ TrinaryLogic::createYes (), // (T of DateTime) isSuperTypeTo *NEVER* - never is bottom type
300+ TrinaryLogic::createMaybe (), // *NEVER* isSuperTypeTo (T of DateTime) - T could be never
301+ ],
302+ 26 => [
303+ $ templateType ('T ' , new ObjectType ('DateTime ' )),
304+ new NonAcceptingNeverType (),
305+ TrinaryLogic::createYes (), // (T of DateTime) isSuperTypeTo never - never is bottom type
306+ TrinaryLogic::createMaybe (), // never isSuperTypeTo (T of DateTime) - T could be never
307+ ],
284308 ];
285309 }
286310
0 commit comments