• thomie's avatar
    GHCi should not defer typed holes · 71c0cc15
    thomie authored
    In the function `tcUserStmt` in compiler/typecheck/TcRnDriver.hs, before
    going over the different ways ('plans') to lift an expression typed at
    the prompt into the GHCi monad, `Opt_DeferTypeErrors` is disabled. Here is
    the accompanying comment:
    
    ```
    -- Ensure that type errors don't get deferred when type checking the
    -- naked expression. Deferring type errors here is unhelpful because the
    -- expression gets evaluated right away anyway. It also would potentially
    -- emit redundant type-error warnings, one from each plan.
    ; plan <- unsetGOptM Opt_DeferTypeErrors $
    ```
    
    Since `Opt_DeferTypeErrors` implies `Opt_DeferTypedHoles`,
    `Opt_DeferTypedHoles` should be disabled here as well. This improves
    the error message for T10248 (it doesn't mention ghciStepIO anymore).
    This is a partial fix for #10249, and a complete fix for #11130.
    
    Depends on D1526
    
    Reviewers: simonpj, austin, bgamari
    
    Reviewed By: simonpj
    
    Subscribers: simonpj
    
    Differential Revision: https://phabricator.haskell.org/D1527
    
    GHC Trac Issues: #10249, #11130
    71c0cc15
TcRnDriver.hs 96 KB