After renaming a collection being watched, or renaming another collection to a collection being watched, it's possible to resume the change stream.
This should probably produce an error instead.
Also, note that we have tests which exercise this behavior, but don't assert that an error is thrown. These tests should be modified.
jstests/change_streams/change_stream_rename_resumability.js jstests/change_streams/change_stream_rename_target.js
Edit (6/18):
The desired behavior is to return an "invalidate" notification if resuming a change stream with a resume token from a command that would normally invalidate the stream. For example, resuming from the token of a collection drop notification on a single-collection change stream should return an "invalidate" then subsequently close the cursor. Resuming from the token of the invalidate notification itself should throw an error.