in src/c/select.php [218:242]
function lastx<T>(
Traversable<T> $traversable,
)[]: T {
if ($traversable is Container<_>) {
$last_value = _Private\Native\last($traversable);
if ($last_value is nonnull) {
return $last_value;
}
invariant(
!is_empty($traversable),
'%s: Expected at least one element.',
__FUNCTION__,
);
/* HH_FIXME[4110] invariant above implies this is T */
return $last_value;
}
$value = null;
$did_iterate = false;
foreach ($traversable as $value) {
$did_iterate = true;
}
invariant($did_iterate, '%s: Expected at least one element.', __FUNCTION__);
/* HH_FIXME[4110] invariant above implies this is T */
return $value;
}