Conversation
This can mark more extras as known than the reconstructed metadata actually describes. For a valid annotation like A later recompile asking for the other extra can therefore accept the solution candidate and still silently drop Please preserve all extras in the reconstructed marker (e.g. OR them), or only mark extras that were actually reconstructed, and add a regression covering this case.
If a Please reset |
sputt
left a comment
There was a problem hiding this comment.
Posted as a top level comment
|
Updated! |
A solution file only records the extras that were active when it was compiled.
SolutionRepositoryrebuilt each project's metadata from those annotations, but answeredrequires(<any other extra>)with silence instead of admitting it did not know. Recompiling against an existing snapshot and asking for an extra that was not already pinned therefore dropped that extra's dependencies.Against this repo's own lockfile, before this change:
With Bazel this means
py_reqs_compilerwrites a lockfile missing packages andpy_reqs_solution_testpasses on it, so nothing catches the error.This change fixes this issue.