Skip to content
  • Rebecca Turner's avatar
    1cee4811
    Make a trailing colon for stanzas a parse failure · 1cee4811
    Rebecca Turner authored
    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.
    1cee4811
    Make a trailing colon for stanzas a parse failure
    Rebecca Turner authored
    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.
Loading