When using --autounmask-continue together with --binpkg-respect-use, it's possible for emerge to reject a binary package due to "non matching USE" and at the same time apply an autounmask change that would cause the rejected binary package to be acceptable. The result is that the package is rebuilt unnecessarily.
It should be possible to search self._dynamic_config.ignored_binaries for binary packages that match the current set of autounmask changes, and trigger backtracking calculation in this case.
Patch posted for review:
This is in the master branch: