in src/c/select.php [278:298]
function last_keyx<Tk, Tv>(
KeyedTraversable<Tk, Tv> $traversable,
)[]: Tk {
if ($traversable is KeyedContainer<_, _>) {
$last_key = _Private\Native\last_key($traversable);
invariant(
$last_key is nonnull,
'%s: Expected at least one element.',
__FUNCTION__,
);
return $last_key;
}
$key = null;
$did_iterate = false;
foreach ($traversable as $key => $_) {
$did_iterate = true;
}
invariant($did_iterate, '%s: Expected at least one element.', __FUNCTION__);
/* HH_FIXME[4110] invariant above implies this is Tk */
return $key;
}