Skip to content
Snippets Groups Projects
  1. Oct 19, 2022
  2. Oct 18, 2022
    • Matthew Pickering's avatar
      Add -fsuppress-error-contexts to disable printing error contexts in errors · 99dc3e3d
      Matthew Pickering authored and sheaf's avatar sheaf committed
      In many development environments, the source span is the primary means
      of seeing what an error message relates to, and the In the expression:
      and In an equation for: clauses are not particularly relevant. However,
      they can grow to be quite long, which can make the message itself both
      feel overwhelming and interact badly with limited-space areas.
      
      It's simple to implement this flag so we might as well do it and give
      the user control about how they see their messages.
      
      Fixes #21722
      99dc3e3d
    • Matthew Pickering's avatar
      Allow configuration of error message printing · e1bbd368
      Matthew Pickering authored and sheaf's avatar sheaf committed
      This MR implements the idea of #21731 that the printing of a diagnostic
      method should be configurable at the printing time.
      
      The interface of the `Diagnostic` class is modified from:
      
      ```
      class Diagnostic a where
        diagnosticMessage :: a -> DecoratedSDoc
        diagnosticReason  :: a -> DiagnosticReason
        diagnosticHints   :: a -> [GhcHint]
      ```
      
      to
      
      ```
      class Diagnostic a where
        type DiagnosticOpts a
        defaultDiagnosticOpts :: DiagnosticOpts a
        diagnosticMessage :: DiagnosticOpts a -> a -> DecoratedSDoc
        diagnosticReason  :: a -> DiagnosticReason
        diagnosticHints   :: a -> [GhcHint]
      ```
      
      and so each `Diagnostic` can implement their own configuration record
      which can then be supplied by a client in order to dictate how to print
      out the error message.
      
      At the moment this only allows us to implement #21722 nicely but in
      future it is more natural to separate the configuration of how much
      information we put into an error message and how much we decide to print
      out of it.
      
      Updates Haddock submodule
      e1bbd368
    • Matthew Pickering's avatar
      Build System: Remove out-of-date comment about make build system · ba4bd4a4
      Matthew Pickering authored and Marge Bot's avatar Marge Bot committed
      Both make and hadrian interleave compilation of modules of different
      modules and don't respect the package boundaries. Therefore I just
      remove this comment which points out this "difference".
      
      Fixes #22253
      ba4bd4a4
    • Ben Gamari's avatar
      configure: Bump minimum bootstrap GHC version · f60244d7
      Ben Gamari authored and Marge Bot's avatar Marge Bot committed
      Fixes #22245
      f60244d7
    • M Farkas-Dyck's avatar
      9ecd1ac0
    • Andreas Klebinger's avatar
      Fix GHCis interaction with tag inference. · 0ac60423
      Andreas Klebinger authored and Marge Bot's avatar Marge Bot committed
      I had assumed that wrappers were not inlined in interactive mode.
      Meaning we would always execute the compiled wrapper which properly
      takes care of upholding the strict field invariant.
      This turned out to be wrong. So instead we now run tag inference even
      when we generate bytecode. In that case only for correctness not
      performance reasons although it will be still beneficial for runtime
      in some cases.
      
      I further fixed a bug where GHCi didn't tag nullary constructors
      properly when used as arguments. Which caused segfaults when calling
      into compiled functions which expect the strict field invariant to
      be upheld.
      
      Fixes #22042 and #21083
      
      -------------------------
      Metric Increase:
          T4801
      
      Metric Decrease:
          T13035
      -------------------------
      0ac60423
  3. Oct 17, 2022
  4. Oct 15, 2022
  5. Oct 14, 2022
  6. Oct 13, 2022
  7. Oct 12, 2022
Loading