Let's say package dev-python/foo deps on dev-python/setuptools[py2.5(-)?]. Now, let's assume: setuptools-1 has IUSE="py2.5 ... py3.3" (all of them) setuptools-2 has IUSE="py2.6 ... py3.3" (lacks py2.5) In other words, the newest version has dropped support for py2.5. By the nature of the dep, py2.5 users will have to stay with the older version. I think repoman shall print a warning when checking dev-python/foo in that case (something like 'newest matching version does not satisfy the USE dependency') so that people will know that something has changed and they should think about adjusting their package. Moreover, if at some point setuptools-1 is removed and none of setuptools versions provide the flag anymore (and the flag is not masked), I think repoman shall treat this as an error. Currently, it does that only with a plain '[py2.5?]' dep.
This might require special handling for things like || ( foo[x] foo[y] ) which may be used to handle use flag renames.
(In reply to comment #1) > This might require special handling for things like || ( foo[x] foo[y] ) > which may be used to handle use flag renames. Hmm, I think || shall trigger an error if no packages match any of them but that's probably a regular case already. For other cases, I'd guess a warning can still be thrown. If developer intended that, he will understand the warning ;).
repoman support has been removed per bug 835013. Please file a new bug (or, I suppose, reopen this one) if you feel this check is still applicable to pkgcheck and doesn't already exist.
FWIW, I think pkgcheck has this as MissingUsedepDefault.