-
Notifications
You must be signed in to change notification settings - Fork 842
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Stack does not respect lower bound specified in the cabal file. #4495
Comments
Hi @recursion-ninja, you've got If you delete that you'll still need the extra-deps entry, else you'll get a compilation failure. The snapshot lts-12.13 provides vector-0.12.0.1. In that case, though a compilation failure is what you want, correct? If you're concerned about the extra-dep, I hope I can reassure you. It only affects you as a developer — users of your library and executable will not be restricted when new versions of vector are released — and when you upgrade (for development) to a newer stackage snapshot which contains a suitable version of vector, you can delete the extra-dep. You could consider that now, actually, and upgrade to lts-13, though that snapshot uses ghc 8.6. Feel free to reopen if that doesn't resolve your issue, and by all means ask any further questions here. |
In the
The flag The flag I really would have thought that this is straight forward logic, but apparently it needs to be articulated in an issue. It violates the principle of least astonishment! This is an exceptional defect for
|
Shall we reopen this issue or should I create a new, more aptly name issue: |
I'll open a new one. It's a design change, not a bug. From the documentation: stack/doc/yaml_configuration.md Lines 715 to 727 in c40a28b
Would you be interested in contributing changes? |
You can use To be clear — You could introduce a small section of template haskell which would run some code (that should fails on 0.12.0.1) during compilation, to ensure that if somebody does use |
I understand that I am most certainly not interested in contributing changes. I only want to use a tool which does not repeatedly violate the principle of least astonishment. |
Suppose I write a library function like so:
Then suppose a user of my library a user points out that the function returns the cube of the input and not the square. I would not direct them to the haddock documentation which clearly specifies the unintuitive functionality. I would not classify correcting the issue as a "design change" instead of a "bug."
Can you create an issue to prioritize fixing this? |
I must insist that is issue is in fact valid and needs to be re-opened since a new issue has not been created to address this defect. Especially since According to the
|
I came here to open a ticket about the misleadingly-named But I see that @recursion-ninja has already clearly and thoroughly described the exact problem that I have. I can only reiterate the same points: I don't understand why this ticket is closed. @dbaynard: You said on January 8, 2019 that you'd open a new issue, but I can't find it. If you don't want to reopen this issue, then could you please add a link to the new issue from this thread? |
@brianhuffman, if I have learned anything over the last 5 year of dealing with My wholehearted recommendation is to abandon |
@recursion-ninja, thanks for the advice. We're already using |
General summary/comments
I had added the following line to our
.cabal
file after we fixed thevector
library to be compatible with compact regions so we could add back vector parallelism:Turns out
stack
ignores this very explicitly defined lower bound. You have to hold its hand and also add this to the stack.yaml file:This is a deficient solution, because now we will always build with
vector-0.12.0.2
, even if there is a newer version available.stack
should attempt to retrieve a package satisfying the version constraints from hackage if one cannot be found in the resolver list.Steps to reproduce
See this commit for the defect:
amnh/PCG@beb9ec0#diff-0d579eb41129e06212ecf283405e96a0
Just
stack build
and run any dataset with multiple characters.Expected
Use the a version of
vector
that satisfies the version constraints specified in the.cabal
file, if one exists (it does).Actual
Used a different version of the
vector
library which is incompatible withcompact
and throws run-time exceptions, making our software useless and wasting days of my time to diagnose.Stack version
Method of installation
The text was updated successfully, but these errors were encountered: