For example, games-board/pysolfc requires python[tk]. I can do something like this: 1. USE=tk emerge -1v python 2. emerge -1v pysolfc 3. USE=-tk emerge -1v python Since no @world package requires python[tk], portage happily rebuilds python without tk support. However, this means that pysolfc is now broken. Portage should either: 1. prevent changing USE flags if that breaks any @installed package, 2. automatically unmerge (as blockers) packages that are no longer satisfied after the change.
This is one of the reasons that emerge suggests to run --depclean after deep @world updates: https://gitweb.gentoo.org/proj/portage.git/commit/?id=550795df709cfa9ec4a9502a4ad835319f778e95