Skip to content
Snippets Groups Projects
  1. May 14, 2019
  2. May 13, 2019
  3. May 10, 2019
  4. May 08, 2019
  5. May 07, 2019
    • KevinBuhr's avatar
      Add regression test for old typechecking issue #505 · f58ea556
      KevinBuhr authored and Marge Bot's avatar Marge Bot committed
      f58ea556
    • Ryan Scott's avatar
      Check for duplicate variables in associated default equations · 78a5c4ce
      Ryan Scott authored and Marge Bot's avatar Marge Bot committed
      A follow-up to !696's, which attempted to clean up the error messages
      for ill formed associated type family default equations. The previous
      attempt, !696, forgot to account for the possibility of duplicate
      kind variable arguments, as in the following example:
      
      ```hs
      class C (a :: j) where
        type T (a :: j) (b :: k)
        type T (a :: k) (b :: k) = k
      ```
      
      This patch addresses this shortcoming by adding an additional check
      for this. Fixes #13971 (hopefully for good this time).
      78a5c4ce
    • Ryan Scott's avatar
      Add /includes/dist to .gitignore · 96197961
      Ryan Scott authored and Marge Bot's avatar Marge Bot committed
      As of commit d37d91e9, the GHC build
      now autogenerates a `includes/dist/build/settings` file. To avoid
      dirtying the current `git` status, this adds `includes/dist` to
      `.gitignore`.
      
      [ci skip]
      96197961
  6. May 06, 2019
  7. May 05, 2019
  8. May 04, 2019
  9. May 03, 2019
    • Ryan Scott's avatar
      Make equality constraints in kinds invisible · cc495d57
      Ryan Scott authored and Ömer Sinan Ağacan's avatar Ömer Sinan Ağacan committed
      Issues #12102 and #15872 revealed something strange about the way GHC
      handles equality constraints in kinds: it treats them as _visible_
      arguments! This causes a litany of strange effects, from strange
      error messages
      (#12102 (comment 169035))
      to bizarre `Eq#`-related things leaking through to GHCi output, even
      without any special flags enabled.
      
      This patch is an attempt to contain some of this strangeness.
      In particular:
      
      * In `TcHsType.etaExpandAlgTyCon`, we propagate through the
        `AnonArgFlag`s of any `Anon` binders. Previously, we were always
        hard-coding them to `VisArg`, which meant that invisible binders
        (like those whose kinds were equality constraint) would mistakenly
        get flagged as visible.
      * In `ToIface.toIfaceAppArgsX`, we previously assumed that the
        argument to a `FunTy` always corresponding to a `Required`
        argument. We now dispatch on the `FunTy`'s `AnonArgFlag` and map
        `VisArg` to `Required` and `InvisArg` to `Inferred`. As a
        consequence, the iface pretty-printer correctly recognizes that
        equality coercions are inferred arguments, and as a result,
        only displays them in `-fprint-explicit-kinds` is enabled.
      * Speaking of iface pretty-printing, `Anon InvisArg` binders were
        previously being pretty-printed like `T (a :: b ~ c)`, as if they
        were required. This seemed inconsistent with other invisible
        arguments (that are printed like `T @{d}`), so I decided to switch
        this to `T @{a :: b ~ c}`.
      
      Along the way, I also cleaned up a minor inaccuracy in the users'
      guide section for constraints in kinds that was spotted in
      #12102 (comment 136220).
      
      Fixes #12102 and #15872.
      cc495d57
    • Ömer Sinan Ağacan's avatar
      Fix interface version number printing in --show-iface · 87bc954a
      Ömer Sinan Ağacan authored
      Before
      
          Version: Wanted [8, 0, 9, 0, 2, 0, 1, 9, 0, 4, 2, 5],
                   got    [8, 0, 9, 0, 2, 0, 1, 9, 0, 4, 2, 5]
      
      After
      
          Version: Wanted 809020190425,
                   got    809020190425
      87bc954a
    • Ningning Xie's avatar
      Only skip decls with CUSKs with PolyKinds on (fix #16609) · 9b59e126
      Ningning Xie authored and Ömer Sinan Ağacan's avatar Ömer Sinan Ağacan committed
      9b59e126
Loading