Open RyanGlScott opened 7 years ago
CC @Ericson2314. Since allow-newer operates by rewriting dependencies, it should simply be a matter of also rewriting build-tools-depends.
@ezyang The way it acts now is a hack, please don't add to it by introducing additional tech debt (whcih we'd have to break and confuse users once we clean it up, or alternatively have tedious debates whether we can even change it again once users start depending on the broken semantics). Especially, allow-newer/older ought not to automatically act on qualified goals, even less so on non-lib deps. We need to harmonize this with the --constraint
syntax for consistency.
@RyanGlScott: Me too.
@ezyang @hvr: Anything happening on this frontier?
@andreasabel not yet; first step is to define the new tool-aware extended syntax of --allow-{newer,older}
(ideally we'd also take into account future support for qualified-aware relaxation, but that requires moving the logic into the solver -- which is a long-term goal, as the current pd-rewriting implementation a crude hack which runs into some issues); once the spec is available, the implementation should be fairly easy
The
--allow-newer
flag doesn't appear to work withbuild-tools
. Given this simple.cabal file
:Trying to configure it fails when I have
alex-3.2.1
installed, even with--allow-newer
: