[GHC] #12042: Infinite loop with type synonyms and hs-boot
GHC
ghc-devs at haskell.org
Thu Nov 17 05:32:32 UTC 2016
#12042: Infinite loop with type synonyms and hs-boot
-------------------------------------+-------------------------------------
Reporter: ezyang | Owner:
Type: bug | Status: patch
Priority: low | Milestone:
Component: Compiler (Type | Version: 8.1
checker) | Keywords: hs-boot
Resolution: | backpack
Operating System: Unknown/Multiple | Architecture:
| Unknown/Multiple
Type of failure: None/Unknown | Test Case:
Blocked By: | Blocking:
Related Tickets: | Differential Rev(s): Phab:D2656
Wiki Page: |
-------------------------------------+-------------------------------------
Comment (by Edward Z. Yang <ezyang@…>):
In [changeset:"31398fbc6d9ee0bd95de64b08becc38faf188972/ghc"
31398fbc/ghc]:
{{{
#!CommitTicketReference repository="ghc"
revision="31398fbc6d9ee0bd95de64b08becc38faf188972"
Test for type synonym loops on TyCon.
Summary:
Previously, we tested for type synonym loops by doing
a syntactic test on the literal type synonym declarations.
However, in some cases, loops could go through hs-boot
files, leading to an infinite loop (#12042); a similar
situation can occur when signature merging.
This commit replaces the syntactic test with a test on
TyCon, simply by walking down all type synonyms until
we bottom out, or find we've looped back. It's a lot
simpler.
Signed-off-by: Edward Z. Yang <ezyang at cs.stanford.edu>
Test Plan: validate
Reviewers: simonpj, austin, bgamari
Subscribers: goldfire, thomie
Differential Revision: https://phabricator.haskell.org/D2656
GHC Trac Issues: #12042
}}}
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/12042#comment:3>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list