-
Notifications
You must be signed in to change notification settings - Fork 697
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
Make a trailing colon for stanzas a parse failure #10525
base: master
Are you sure you want to change the base?
Conversation
dfdef66
to
62da1e0
Compare
62da1e0
to
f34aba9
Compare
Here's a mistake I make semi-regularly: source-repository-package: type: git location: https://github.com/parsonsmatt/foundation tag: 688c32ccd9a951bc96dd09423a6e6684f091d510 subdir: basement subdir: foundation Cabal treats this as a warning, so it prints: Warning: cabal.project: Unrecognized field 'source-repository-package' on line 52 This is fine (if you already know the mistake you've made, at least!), but it's very easy to miss amidst lots of output. I often re-run `cabal` when I see a ton of output to attempt to get a smaller error message. (Usually it works and I get an error message that's got less "compiling module such and such" noise in it.) However, re-running `cabal` will discard this warning entirely! Let's make it a hard error instead. This is a backwards-compatibility break.
f34aba9
to
f112421
Compare
Added a test case and a release note, ready for review! |
cabal-testsuite/PackageTests/ProjectConfig/FieldStanzaConfusion/cabal.test.hs
Show resolved
Hide resolved
I always forget: |
@philderbeast: thank you and these are indeed important tickets. So, this breaking change seems fine to be included in the next major version. I don't think it's breaking a useful enough behaviour that an advance warning or deprecation period is needed. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Here's a mistake I make semi-regularly:
Cabal treats this as a warning, so it prints:
This is fine (if you already know the mistake you've made, at least!), but it's very easy to miss amidst lots of output.
I often re-run
cabal
when I see a ton of output to attempt to get a smaller error message. (Usually it works and I get an error message that's got less "compiling module such and such" noise in it.) However, re-runningcabal
will discard this warning entirely!Let's make it a hard error instead. This is a backwards-compatibility break.
Now, it prints this error: