Skip to content
Snippets Groups Projects
Forked from Glasgow Haskell Compiler / GHC
Source project has a limited visibility.
  • Matthew Pickering's avatar
    0077cb22
    Add test for T23184 · 0077cb22
    Matthew Pickering authored and Marge Bot's avatar Marge Bot committed
    There was an outright bug, which Simon fixed in July 2021, as a little side-fix on a complicated patch:
    
    ```
    commit 6656f016
    Author: Simon Peyton Jones <simonpj@microsoft.com>
    Date:   Fri Jul 23 23:57:01 2021 +0100
    
        A bunch of changes related to eta reduction
    
        This is a large collection of changes all relating to eta
        reduction, originally triggered by #18993, but there followed
        a long saga.
    
        Specifics:
    
    ...lots of lines omitted...
    
        Other incidental changes
    
        * Fix a fairly long-standing outright bug in the ApplyToVal case of
          GHC.Core.Opt.Simplify.mkDupableContWithDmds. I was failing to take the
          tail of 'dmds' in the recursive call, which meant the demands were All
          Wrong.  I have no idea why this has not caused problems before now.
    ```
    
    Note this "Fix a fairly longstanding outright bug".   This is the specific fix
    ```
    @@ -3552,8 +3556,8 @@ mkDupableContWithDmds env dmds
             --              let a = ...arg...
             --              in [...hole...] a
             -- NB: sc_dup /= OkToDup; that is caught earlier by contIsDupable
    -    do  { let (dmd:_) = dmds   -- Never fails
    -        ; (floats1, cont') <- mkDupableContWithDmds env dmds cont
    +    do  { let (dmd:cont_dmds) = dmds   -- Never fails
    +        ; (floats1, cont') <- mkDupableContWithDmds env cont_dmds cont
             ; let env' = env `setInScopeFromF` floats1
             ; (_, se', arg') <- simplArg env' dup se arg
             ; (let_floats2, arg'') <- makeTrivial env NotTopLevel dmd (fsLit "karg") arg'
    ```
    Ticket #23184 is a report of the bug that this diff fixes.
    0077cb22
    History
    Add test for T23184
    Matthew Pickering authored and Marge Bot's avatar Marge Bot committed
    There was an outright bug, which Simon fixed in July 2021, as a little side-fix on a complicated patch:
    
    ```
    commit 6656f016
    Author: Simon Peyton Jones <simonpj@microsoft.com>
    Date:   Fri Jul 23 23:57:01 2021 +0100
    
        A bunch of changes related to eta reduction
    
        This is a large collection of changes all relating to eta
        reduction, originally triggered by #18993, but there followed
        a long saga.
    
        Specifics:
    
    ...lots of lines omitted...
    
        Other incidental changes
    
        * Fix a fairly long-standing outright bug in the ApplyToVal case of
          GHC.Core.Opt.Simplify.mkDupableContWithDmds. I was failing to take the
          tail of 'dmds' in the recursive call, which meant the demands were All
          Wrong.  I have no idea why this has not caused problems before now.
    ```
    
    Note this "Fix a fairly longstanding outright bug".   This is the specific fix
    ```
    @@ -3552,8 +3556,8 @@ mkDupableContWithDmds env dmds
             --              let a = ...arg...
             --              in [...hole...] a
             -- NB: sc_dup /= OkToDup; that is caught earlier by contIsDupable
    -    do  { let (dmd:_) = dmds   -- Never fails
    -        ; (floats1, cont') <- mkDupableContWithDmds env dmds cont
    +    do  { let (dmd:cont_dmds) = dmds   -- Never fails
    +        ; (floats1, cont') <- mkDupableContWithDmds env cont_dmds cont
             ; let env' = env `setInScopeFromF` floats1
             ; (_, se', arg') <- simplArg env' dup se arg
             ; (let_floats2, arg'') <- makeTrivial env NotTopLevel dmd (fsLit "karg") arg'
    ```
    Ticket #23184 is a report of the bug that this diff fixes.
Code owners
Assign users and groups as approvers for specific file changes. Learn more.