How to pass in an empty generator parameter?

Just for completeness, perhaps the least verbose answer so far:

function generator() {
    return; yield;
}

I just wondered about the same question and remembered an early description in the docs (which should be in at least semantically until today) that a generator function is any function with the yield keyword.

Now when the function returns before it yields, the generator should be empty.

And so it is.

Example on 3v4l.org: https://3v4l.org/iqaIY


Bit late, but needed an empty generator myself, and realized creating one is actually quite easy...

function empty_generator(): Generator
{
    yield from [];
}

Don't know if that's better than using the EmptyIterator, but this way you get exactly the same type as non-empty generators at least.