sample.hs:9:13: Couldn't match expected type ‘t’ with actual type ‘()’ ‘t’ is untouchable inside the constraints () bound by the inferred type of foo :: Meta -> t1 at sample.hs:(6,1)-(9,17)ghc: panic! (the 'impossible' happened) (GHC version 7.10.0.0 for x86_64-unknown-linux): No skolem info: t_avJ[sk]Please report this as a GHC bug: http://www.haskell.org/ghc/reportabugsample.hs:module Blah wherenewtype Meta = Meta ()foo (Meta ws1) = let copy :: _ copy w from = copy w 1 in copy ws1 1
Trac metadata
Trac field
Value
Version
7.10.1-rc2
Type
Bug
TypeOfFailure
OtherFailure
Priority
normal
Resolution
Unresolved
Component
Compiler
Test case
Differential revisions
BlockedBy
Related
Blocking
CC
Operating system
Architecture
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Child items
0
Show closed items
No child items are currently assigned. Use child items to break down this issue into smaller parts.
I'm terribly sorry for, once again, bringing up tickets late in the release cycle... but can the above fix be included in ghc 7.10? I'm getting:
~/devel/test$ ghci Blah.hs GHCi, version 7.10.0.20150323: http://www.haskell.org/ghc/ :? for help[1 of 1] Compiling Blah ( Blah.hs, interpreted )Blah.hs:7:17: Found hole ‘_’ with type: t2 -> a1 -> t3 Where: ‘t2’ is a rigid type variable bound by the inferred type of copy :: Num a1 => t2 -> a1 -> t3 at Blah.hs:8:9 ‘t3’ is a rigid type variable bound by the inferred type of copy :: Num a1 => t2 -> a1 -> t3 at Blah.hs:8:9 ‘a1’ is a rigid type variable bound by the inferred type of copy :: Num a1 => t2 -> a1 -> t3 at Blah.hs:8:9 To use the inferred type, enable PartialTypeSignatures Relevant bindings include ws1 :: () (bound at Blah.hs:6:11) foo :: Meta -> t3 (bound at Blah.hs:6:1) In the type signature for ‘copy’: _ In the expression: let copy :: _ copy w from = copy w 1 in copy ws1 1 In an equation for ‘foo’: foo (Meta ws1) = let copy :: _ copy w from = copy w 1 in copy ws1 1Blah.hs:8:9: No instance for (Num a) When checking that ‘copy’ has the specified type copy :: forall t t1 a. t -> a -> t1 Probable cause: the inferred type is ambiguous In the expression: let copy :: _ copy w from = copy w 1 in copy ws1 1 In an equation for ‘foo’: foo (Meta ws1) = let copy :: _ copy w from = copy w 1 in copy ws1 1Blah.hs:9:13: Couldn't match expected type ‘t’ with actual type ‘()’ ‘t’ is untouchable inside the constraints () bound by the inferred type of foo :: Meta -> t1 at Blah.hs:(6,1)-(9,17)ghc: panic! (the 'impossible' happened) (GHC version 7.10.0.20150323 for x86_64-apple-darwin): No skolem info: t_avM[sk]Please report this as a GHC bug: http://www.haskell.org/ghc/reportabug
Also, this is not mission critical for me! So if it's postponed to a later release then it's no problem.
Sorry, the patch in question is a bit tricky to merge as it has some dependencies. We may be able to revisit this one for 7.10.2, so I've pushed it off to said milestone.
I looked at it again, and I'm still inclined to leave it out. :) It would be possible to remove the bits from the redundant superclass warning patch that touch it, but it looks like there have been some other various changes resulting in quite a few hunks that don't match up.
So, unless someone Really Really needs it (or would like to backport the patch themselves!), I'd prefer to keep this one pointed to 7.12.1.
Too bad this did not make it into 7.10.3. The bug happens when trying out the code that explains how to derive unsafeCoerce from GND+TypeFamilies if we had not roles.