Skip to content

allow-newer: ^all doesn't parse #10381

Open
@philderbeast

Description

@philderbeast
-- Disregard all `^>=`-style upper bounds when dependency solving
allow-newer: ^all

SOURCE: project allow-newer

The docs mention using allow-newer: ^all but trying this gives a parser error.

$ cabal init allow-any-newer --non-interactive
Warning: this is a debug build of cabal-install with assertions enabled.
[Info] Guessing dependencies...
[Info] Using cabal specification: 3.0
[Warn] unknown license type, you must put a copy in LICENSE yourself.
[Info] Creating fresh file CHANGELOG.md...
[Info] Creating fresh directory ./app...
[Info] Creating fresh file app/Main.hs...
[Info] Creating fresh file allow-any-newer.cabal...
[Warn] No synopsis given. You should edit the .cabal file and add one.
[Info] You may want to edit the .cabal file and add a Description field.

$ cd allow-any-newer/

$ cabal build all --enable-tests --enable-benchmarks
Warning: this is a debug build of cabal-install with assertions enabled.
Resolving dependencies...
Build profile: -w ghc-9.10.1 -O1
...

$ echo "allow-newer: all" > cabal.project.local

$ cabal build all --enable-tests --enable-benchmarks
Warning: this is a debug build of cabal-install with assertions enabled.
Resolving dependencies...
Up to date

$ echo "allow-newer: ^all" > cabal.project.local

$ cabal build all --enable-tests --enable-benchmarks
Warning: this is a debug build of cabal-install with assertions enabled.
Error: [Cabal-7090]
Error parsing project local configuration file /.../allow-any-newer/cabal.project.local:1:
"<eitherParsec>" (line 1, column 1):
unexpected "^"
expecting comma or "*"

I see the same behaviour with cabal-install-3.12.1.0 and with cabal-install installed from d988732.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions