(This PR is a further simplification on top of #1)
While working on the state refactoring I noticed that we could get rid
of 'future', the list of packages yet to install (outside the current
cover element).
For a given invocation of the tool, we have a package selection that
we can use to decide what our future should be; from one invocation to
the next, there is not much point in noticing that the future changed.
The state now only contains information that is stable over the whole
timestamp: the facts we store in the state will never change, even if
the invocation parameters change.
(This PR is a further simplification on top of #1)
While working on the state refactoring I noticed that we could get rid of 'future', the list of packages yet to install (outside the current cover element).
For a given invocation of the tool, we have a package selection that we can use to decide what our future should be; from one invocation to the next, there is not much point in noticing that the future changed.
The state now only contains information that is stable over the whole timestamp: the facts we store in the state will never change, even if the invocation parameters change.