[GHC] #10817: Looping default associated type family without UndecidableInstances
#10817: Looping default associated type family without UndecidableInstances -------------------------------------+------------------------------------- Reporter: goldfire | Owner: Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 7.10.2 Keywords: | Operating System: Unknown/Multiple Architecture: | Type of failure: None/Unknown Unknown/Multiple | Test Case: | Blocked By: Blocking: | Related Tickets: Differential Revisions: | -------------------------------------+------------------------------------- When I say {{{ {-# LANGUAGE TypeFamilies #-} module Bug where import Data.Proxy class C a where type F a type F a = F a instance C Bool x :: Proxy (F Bool) x = Proxy }}} GHC just loops. Setting a low `-ftype-function-depth` doesn't help. I actually don't terribly mind the looping (although aborting with an overflow would be better). But I don't like that it's possible without `UndecidableInstances` in sight. -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/10817> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#10817: Looping default associated type family without UndecidableInstances -------------------------------------+------------------------------------- Reporter: goldfire | Owner: Type: bug | Status: new Priority: normal | Milestone: Component: Compiler (Type | Version: 7.10.2 checker) | Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Revisions: -------------------------------------+------------------------------------- Changes (by thomie): * component: Compiler => Compiler (Type checker) -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/10817#comment:1> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#10817: Looping default associated type family without UndecidableInstances -------------------------------------+------------------------------------- Reporter: goldfire | Owner: Type: bug | Status: new Priority: normal | Milestone: Component: Compiler (Type | Version: 7.10.2 checker) | Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Revisions: -------------------------------------+------------------------------------- Changes (by jstolarek): * cc: jstolarek (added) -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/10817#comment:2> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#10817: Looping default associated type family without UndecidableInstances -------------------------------------+------------------------------------- Reporter: goldfire | Owner: Type: bug | Status: patch Priority: normal | Milestone: Component: Compiler (Type | Version: 7.10.2 checker) | Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Revisions: Phab:D1262 -------------------------------------+------------------------------------- Changes (by goldfire): * status: new => patch * differential: => Phab:D1262 -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/10817#comment:3> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#10817: Looping default associated type family without UndecidableInstances -------------------------------------+------------------------------------- Reporter: goldfire | Owner: Type: bug | Status: patch Priority: normal | Milestone: Component: Compiler (Type | Version: 7.10.2 checker) | Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Revisions: Phab:D1262 -------------------------------------+------------------------------------- Comment (by Richard Eisenberg <eir@…>): In [changeset:"e27b267f3675180c03a75282dd952b8a59339a1f/ghc" e27b267/ghc]: {{{ #!CommitTicketReference repository="ghc" revision="e27b267f3675180c03a75282dd952b8a59339a1f" Perform a validity check on assoc type defaults. This fixes #10817 and #10899. A knock-on effect is that we must now remember locations of associated type defaults for error messages during validity checking. This isn't too bad, but it increases the size of the diff somewhat. Test cases: indexed-types/should_fail/T108{17,99} }}} -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/10817#comment:4> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#10817: Looping default associated type family without UndecidableInstances -------------------------------------+------------------------------------- Reporter: goldfire | Owner: Type: bug | Status: merge Priority: normal | Milestone: 7.10.3 Component: Compiler (Type | Version: 7.10.2 checker) | Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: indexed- | types/should_fail/T10817 Blocked By: | Blocking: Related Tickets: | Differential Revisions: Phab:D1262 -------------------------------------+------------------------------------- Changes (by goldfire): * status: patch => merge * testcase: => indexed-types/should_fail/T10817 * milestone: => 7.10.3 Comment: Worth merging this one. -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/10817#comment:5> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#10817: Looping default associated type family without UndecidableInstances -------------------------------------+------------------------------------- Reporter: goldfire | Owner: Type: bug | Status: merge Priority: normal | Milestone: 7.10.3 Component: Compiler (Type | Version: 7.10.2 checker) | Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: indexed- | types/should_fail/T10817 Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Phab:D1262 -------------------------------------+------------------------------------- Comment (by bgamari): goldfire, do you suppose you could backport this to `ghc-7.10`? I tried but there have been just enough differences in this area that I'm not sure I trust myself to get this right. Alternatively we could just punt. Your call. -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/10817#comment:6> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#10817: Looping default associated type family without UndecidableInstances -------------------------------------+------------------------------------- Reporter: goldfire | Owner: Type: bug | Status: merge Priority: normal | Milestone: 7.10.3 Component: Compiler (Type | Version: 7.10.2 checker) | Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: indexed- | types/should_fail/T10817 Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Phab:D1262 -------------------------------------+------------------------------------- Comment (by goldfire): I'll take a look at this today. -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/10817#comment:7> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#10817: Looping default associated type family without UndecidableInstances -------------------------------------+------------------------------------- Reporter: goldfire | Owner: Type: bug | Status: merge Priority: normal | Milestone: 7.10.3 Component: Compiler (Type | Version: 7.10.2 checker) | Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: indexed- | types/should_fail/T10817 Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Phab:D1262 -------------------------------------+------------------------------------- Comment (by goldfire): I've just pushed a patch (relative to `ghc-7.10`) to `wip/rae`. (See commit 8b69b318802f59cfeb0779779cfbbebf74348fa0.) I can't validate because of the problem Simon already mentioned about `ghc-7.10` not building. But hopefully this is only a typo or two away from working. -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/10817#comment:8> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#10817: Looping default associated type family without UndecidableInstances -------------------------------------+------------------------------------- Reporter: goldfire | Owner: Type: bug | Status: closed Priority: normal | Milestone: 7.10.3 Component: Compiler (Type | Version: 7.10.2 checker) | Resolution: fixed | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: indexed- | types/should_fail/T10817 Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Phab:D1262 Wiki Page: | -------------------------------------+------------------------------------- Changes (by bgamari): * status: merge => closed * resolution: => fixed -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/10817#comment:9> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
participants (1)
-
GHC