GHC issueshttps://gitlab.haskell.org/ghc/ghc/-/issues2019-07-07T18:58:47Zhttps://gitlab.haskell.org/ghc/ghc/-/issues/4484Regression: Combination of GADTs and Type families2019-07-07T18:58:47ZSjoerd VisscherRegression: Combination of GADTs and Type familiesThe function "fails" compiles in 6.12.3 but not in 7.1 HEAD.
```
{-# LANGUAGE TypeFamilies, EmptyDataDecls, GADTs #-}
type family F f :: *
data Id c = Id
type instance F (Id c) = c
data C :: * -> * where
C :: f -> C (W (F f))
data...The function "fails" compiles in 6.12.3 but not in 7.1 HEAD.
```
{-# LANGUAGE TypeFamilies, EmptyDataDecls, GADTs #-}
type family F f :: *
data Id c = Id
type instance F (Id c) = c
data C :: * -> * where
C :: f -> C (W (F f))
data W :: * -> *
fails :: C a -> C a
fails (C _) = C Id
works :: C (W a) -> C (W a)
works (C _) = C Id
```
The error is:
```
Could not deduce (F (Id c) ~ F f) from the context (a ~ W (F f))
NB: `F' is a type function, and may not be injective
Expected type: a
Actual type: W (F (Id c))
In the expression: C Id
In an equation for `fails': fails (C _) = C Id
```
But in the function "works" the compiler apparently has no problem deducing (F (Id c) \~ F f).
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | ------------ |
| Version | 7.1 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | Compiler |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture | |
</details>
<!-- {"blocked_by":[],"summary":"Regression: Combination of GADTs and Type families","status":"New","operating_system":"","component":"Compiler","related":[],"milestone":"","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"7.1","keywords":[],"differentials":[],"test_case":"","architecture":"","cc":[""],"type":"Bug","description":"The function \"fails\" compiles in 6.12.3 but not in 7.1 HEAD.\r\n\r\n{{{\r\n{-# LANGUAGE TypeFamilies, EmptyDataDecls, GADTs #-}\r\n\r\ntype family F f :: *\r\n\r\ndata Id c = Id\r\ntype instance F (Id c) = c\r\n\r\ndata C :: * -> * where\r\n C :: f -> C (W (F f))\r\n\r\ndata W :: * -> *\r\n\r\nfails :: C a -> C a\r\nfails (C _) = C Id\r\n\r\nworks :: C (W a) -> C (W a)\r\nworks (C _) = C Id\r\n}}}\r\n\r\nThe error is:\r\n\r\n{{{\r\n Could not deduce (F (Id c) ~ F f) from the context (a ~ W (F f))\r\n NB: `F' is a type function, and may not be injective\r\n Expected type: a\r\n Actual type: W (F (Id c))\r\n In the expression: C Id\r\n In an equation for `fails': fails (C _) = C Id\r\n}}}\r\n\r\nBut in the function \"works\" the compiler apparently has no problem deducing (F (Id c) ~ F f).","type_of_failure":"OtherFailure","blocking":[]} -->7.0.1https://gitlab.haskell.org/ghc/ghc/-/issues/4444SPECIALISE pragma rejected; regression2019-07-07T18:58:58ZIan Lynagh <igloo@earth.li>SPECIALISE pragma rejected; regressionCompiling this module:
```
module Q where
{-# SPECIALIZE f :: (Bool -> Bool) -> Int #-}
f :: (a -> Bool) -> Int
f = undefined
```
fails with:
```
$ ghc -c Q.hs
Q.hs:3:1:
Discarding pragma for non-overloaded function `f'
In ...Compiling this module:
```
module Q where
{-# SPECIALIZE f :: (Bool -> Bool) -> Int #-}
f :: (a -> Bool) -> Int
f = undefined
```
fails with:
```
$ ghc -c Q.hs
Q.hs:3:1:
Discarding pragma for non-overloaded function `f'
In the SPECIALISE pragma
{-# SPECIALIZE f :: (Bool -> Bool) -> Int #-}
```
This is causing build failures for Munkres, bitarray and bitmap.
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | ------------ |
| Version | 7.0.1 RC1 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | highest |
| Resolution | Unresolved |
| Component | Compiler |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture | |
</details>
<!-- {"blocked_by":[],"summary":"SPECIALISE pragma rejected; regression","status":"New","operating_system":"","component":"Compiler","related":[],"milestone":"7.0.1","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"7.0.1 RC1","keywords":[],"differentials":[],"test_case":"","architecture":"","cc":[""],"type":"Bug","description":"Compiling this module:\r\n{{{\r\nmodule Q where\r\n\r\n{-# SPECIALIZE f :: (Bool -> Bool) -> Int #-}\r\nf :: (a -> Bool) -> Int\r\nf = undefined \r\n}}}\r\nfails with:\r\n{{{\r\n$ ghc -c Q.hs\r\n\r\nQ.hs:3:1:\r\n Discarding pragma for non-overloaded function `f'\r\n In the SPECIALISE pragma\r\n {-# SPECIALIZE f :: (Bool -> Bool) -> Int #-}\r\n}}}\r\n\r\nThis is causing build failures for Munkres, bitarray and bitmap.\r\n","type_of_failure":"OtherFailure","blocking":[]} -->7.0.1Simon Peyton JonesSimon Peyton Joneshttps://gitlab.haskell.org/ghc/ghc/-/issues/4427hGetBuf sometimes reads fewer bytes than required2019-07-07T18:59:03Zrl@cse.unsw.edu.auhGetBuf sometimes reads fewer bytes than requiredThe attached program repeatedly calls `hGetBuf` and prints how much it wanted to read and how many bytes `hGetBuf` returned. It should be run on a sufficiently large file. On Cygwin, the last 4 lines of the output are:
```
4 4
608 523
4...The attached program repeatedly calls `hGetBuf` and prints how much it wanted to read and how many bytes `hGetBuf` returned. It should be run on a sufficiently large file. On Cygwin, the last 4 lines of the output are:
```
4 4
608 523
4 4
300 300
```
Note that we requested 608 bytes but `hGetBuf` only returned 523 even though we weren't at the end of file (since subsequent reads succeeded).
I suspect the bug is in `GHC.IO.Handle.Text.bufReadEmpty`, namely here:
```
loop :: FD -> Int -> Int -> IO Int
loop fd off bytes | bytes <= 0 = return off
```
It should probably return `so_far + off`.
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | -------------- |
| Version | 7.1 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | libraries/base |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture | |
</details>
<!-- {"blocked_by":[],"summary":"hGetBuf sometimes reads fewer bytes than required","status":"New","operating_system":"","component":"libraries/base","related":[],"milestone":"","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"7.1","keywords":[],"differentials":[],"test_case":"","architecture":"","cc":[""],"type":"Bug","description":"The attached program repeatedly calls `hGetBuf` and prints how much it wanted to read and how many bytes `hGetBuf` returned. It should be run on a sufficiently large file. On Cygwin, the last 4 lines of the output are:\r\n\r\n{{{\r\n4 4\r\n608 523\r\n4 4\r\n300 300\r\n}}}\r\n\r\nNote that we requested 608 bytes but `hGetBuf` only returned 523 even though we weren't at the end of file (since subsequent reads succeeded).\r\n\r\nI suspect the bug is in `GHC.IO.Handle.Text.bufReadEmpty`, namely here:\r\n\r\n{{{\r\n loop :: FD -> Int -> Int -> IO Int\r\n loop fd off bytes | bytes <= 0 = return off\r\n}}}\r\n\r\nIt should probably return `so_far + off`.","type_of_failure":"OtherFailure","blocking":[]} -->7.0.1Simon MarlowSimon Marlowhttps://gitlab.haskell.org/ghc/ghc/-/issues/4401Functional dependencies regression2019-07-07T18:59:10Zrl@cse.unsw.edu.auFunctional dependencies regressionTestcase:
```
{-# LANGUAGE FlexibleInstances, UndecidableInstances, MultiParamTypeClasses, FunctionalDependencies #-}
module Foo where
class Mul x y z | x y -> z
class IsType a
class IsType a => IsSized a s | a -> s
data Array n a = A...Testcase:
```
{-# LANGUAGE FlexibleInstances, UndecidableInstances, MultiParamTypeClasses, FunctionalDependencies #-}
module Foo where
class Mul x y z | x y -> z
class IsType a
class IsType a => IsSized a s | a -> s
data Array n a = Array
instance IsSized a s => IsType (Array n a)
instance (IsSized a s, Mul n s ns) => IsSized (Array n a) ns
```
ghc-7.0.0.20101014 rejects this with:
```
Couldn't match type `s' with `s1'
because this skolem type variable would escape: `s1'
This skolem is bound by the instance declaration
In the instance declaration for `IsSized (Array n a) ns'
```
ghc-7.0.0.20101005 and all previous versions accept it. This is from the llvm package, so is fairly critical.
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | ------------ |
| Version | 7.1 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | Compiler |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture | |
</details>
<!-- {"blocked_by":[],"summary":"Functional dependencies regression","status":"New","operating_system":"","component":"Compiler","related":[],"milestone":"","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"7.1","keywords":[],"differentials":[],"test_case":"","architecture":"","cc":[""],"type":"Bug","description":"Testcase:\r\n\r\n{{{\r\n{-# LANGUAGE FlexibleInstances, UndecidableInstances, MultiParamTypeClasses, FunctionalDependencies #-}\r\nmodule Foo where\r\n\r\nclass Mul x y z | x y -> z\r\nclass IsType a\r\nclass IsType a => IsSized a s | a -> s\r\n\r\ndata Array n a = Array\r\ninstance IsSized a s => IsType (Array n a)\r\ninstance (IsSized a s, Mul n s ns) => IsSized (Array n a) ns\r\n}}}\r\n\r\nghc-7.0.0.20101014 rejects this with:\r\n\r\n{{{\r\n Couldn't match type `s' with `s1'\r\n because this skolem type variable would escape: `s1'\r\n This skolem is bound by the instance declaration\r\n In the instance declaration for `IsSized (Array n a) ns'\r\n}}}\r\n\r\nghc-7.0.0.20101005 and all previous versions accept it. This is from the llvm package, so is fairly critical.","type_of_failure":"OtherFailure","blocking":[]} -->7.0.1Simon Peyton JonesSimon Peyton Joneshttps://gitlab.haskell.org/ghc/ghc/-/issues/4396tc003(hpc) failing with link error2019-07-07T18:59:12ZSimon Marlowtc003(hpc) failing with link error```
=====> tc003(hpc) 1980 of 2622 [0, 37, 0]
cd ./typecheck/should_compile && '/64playpen/simonmar/nightly/HEAD-cam-04-unx/x86_64-unknown-linux/inplace/bin/ghc-stage2' -fforce-recomp -dcore-lint -dcmm-lint -dno-debug-output -no-user-pac...```
=====> tc003(hpc) 1980 of 2622 [0, 37, 0]
cd ./typecheck/should_compile && '/64playpen/simonmar/nightly/HEAD-cam-04-unx/x86_64-unknown-linux/inplace/bin/ghc-stage2' -fforce-recomp -dcore-lint -dcmm-lint -dno-debug-output -no-user-package-conf -rtsopts -c tc003.hs -O -fhpc -fno-warn-incomplete-patterns >tc003.comp.stderr 2>&1
Compile failed (status 256) errors were:
/tmp/ghc14267_0/ghc14267_0.s: Assembler messages:
/tmp/ghc14267_0/ghc14267_0.s:173:0:
Error: symbol `ShouldSucceed_e_closure' is already defined
/tmp/ghc14267_0/ghc14267_0.s:196:0:
Error: symbol `ShouldSucceed_e_info' is already defined
/tmp/ghc14267_0/ghc14267_0.s:237:0:
Error: symbol `ShouldSucceed_d_closure' is already defined
/tmp/ghc14267_0/ghc14267_0.s:260:0:
Error: symbol `ShouldSucceed_d_info' is already defined
*** unexpected failure for tc003(hpc)
```
Apparently the simplifier is generating multiple bindings for `d` and `e`. (Core Lint ought to check for this too).
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | ----------------------- |
| Version | 7.1 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | highest |
| Resolution | Unresolved |
| Component | Compiler (Type checker) |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture | |
</details>
<!-- {"blocked_by":[],"summary":"tc003(hpc) failing with link error","status":"New","operating_system":"","component":"Compiler (Type checker)","related":[],"milestone":"7.0.1","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"7.1","keywords":[],"differentials":[],"test_case":"","architecture":"","cc":[""],"type":"Bug","description":"{{{\r\n=====> tc003(hpc) 1980 of 2622 [0, 37, 0]\r\ncd ./typecheck/should_compile && '/64playpen/simonmar/nightly/HEAD-cam-04-unx/x86_64-unknown-linux/inplace/bin/ghc-stage2' -fforce-recomp -dcore-lint -dcmm-lint -dno-debug-output -no-user-package-conf -rtsopts -c tc003.hs -O -fhpc -fno-warn-incomplete-patterns >tc003.comp.stderr 2>&1\r\nCompile failed (status 256) errors were:\r\n/tmp/ghc14267_0/ghc14267_0.s: Assembler messages:\r\n\r\n/tmp/ghc14267_0/ghc14267_0.s:173:0:\r\n Error: symbol `ShouldSucceed_e_closure' is already defined\r\n\r\n/tmp/ghc14267_0/ghc14267_0.s:196:0:\r\n Error: symbol `ShouldSucceed_e_info' is already defined\r\n\r\n/tmp/ghc14267_0/ghc14267_0.s:237:0:\r\n Error: symbol `ShouldSucceed_d_closure' is already defined\r\n\r\n/tmp/ghc14267_0/ghc14267_0.s:260:0:\r\n Error: symbol `ShouldSucceed_d_info' is already defined\r\n\r\n*** unexpected failure for tc003(hpc)\r\n}}}\r\n\r\nApparently the simplifier is generating multiple bindings for `d` and `e`. (Core Lint ought to check for this too).","type_of_failure":"OtherFailure","blocking":[]} -->7.0.1https://gitlab.haskell.org/ghc/ghc/-/issues/4395T1735(ghci) failing with core-lint error2019-07-07T18:59:12ZSimon MarlowT1735(ghci) failing with core-lint errorexcerpt from the error message:
```
GHCi, version 7.1.20101013: http://www.haskell.org/ghc/ :? for help
Loading package ghc-prim ... linking ... done.
Loading package integer-gmp ... linking ... done.
Loading package base ... linking ....excerpt from the error message:
```
GHCi, version 7.1.20101013: http://www.haskell.org/ghc/ :? for help
Loading package ghc-prim ... linking ... done.
Loading package integer-gmp ... linking ... done.
Loading package base ... linking ... done.
Loading package ffi-1.0 ... linking ... done.
[1 of 6] Compiling T1735_Help.Context ( T1735_Help/Context.hs, interpreted )
[2 of 6] Compiling T1735_Help.State ( T1735_Help/State.hs, interpreted )
[3 of 6] Compiling T1735_Help.Basics ( T1735_Help/Basics.hs, interpreted )
[4 of 6] Compiling T1735_Help.Instances ( T1735_Help/Instances.hs, interpreted )
[5 of 6] Compiling T1735_Help.Xml ( T1735_Help/Xml.hs, interpreted )
*** Core Lint errors : in result of Tidy Core ***
{-# LINE 122 "T1735_Help/Xml.hs #-}:
[RHS of T1735_Help.Xml.typeNotValue :: forall a_a1NJ.
T1735_Help.Xml.Xml a_a1NJ =>
a_a1NJ -> a_a1NJ]
Demand type has 2 arguments, rhs has 1 arguments, T1735_Help.Xml.typeNotValue
Binder's strictness signature: DmdType TTb
```
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | ----------------------- |
| Version | 6.12.3 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | highest |
| Resolution | Unresolved |
| Component | Compiler (Type checker) |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture | |
</details>
<!-- {"blocked_by":[],"summary":"T1735(ghci) failing with core-lint error","status":"New","operating_system":"","component":"Compiler (Type checker)","related":[],"milestone":"7.0.1","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"6.12.3","keywords":[],"differentials":[],"test_case":"","architecture":"","cc":[""],"type":"Bug","description":"excerpt from the error message:\r\n\r\n{{{\r\nGHCi, version 7.1.20101013: http://www.haskell.org/ghc/ :? for help\r\nLoading package ghc-prim ... linking ... done.\r\nLoading package integer-gmp ... linking ... done.\r\nLoading package base ... linking ... done.\r\nLoading package ffi-1.0 ... linking ... done.\r\n[1 of 6] Compiling T1735_Help.Context ( T1735_Help/Context.hs, interpreted )\r\n[2 of 6] Compiling T1735_Help.State ( T1735_Help/State.hs, interpreted )\r\n[3 of 6] Compiling T1735_Help.Basics ( T1735_Help/Basics.hs, interpreted )\r\n[4 of 6] Compiling T1735_Help.Instances ( T1735_Help/Instances.hs, interpreted )\r\n[5 of 6] Compiling T1735_Help.Xml ( T1735_Help/Xml.hs, interpreted )\r\n*** Core Lint errors : in result of Tidy Core ***\r\n{-# LINE 122 \"T1735_Help/Xml.hs #-}:\r\n [RHS of T1735_Help.Xml.typeNotValue :: forall a_a1NJ.\r\n T1735_Help.Xml.Xml a_a1NJ =>\r\n a_a1NJ -> a_a1NJ]\r\n Demand type has 2 arguments, rhs has 1 arguments, T1735_Help.Xml.typeNotValue\r\n Binder's strictness signature: DmdType TTb\r\n}}}\r\n","type_of_failure":"OtherFailure","blocking":[]} -->7.0.1Ian Lynagh <igloo@earth.li>Ian Lynagh <igloo@earth.li>https://gitlab.haskell.org/ghc/ghc/-/issues/4394IPRun failure2021-11-02T09:27:32ZSimon MarlowIPRun failuretypecheck/should_run/IPRun is currently failing all ways:
```
=====> IPRun(normal) 1973 of 2622 [0, 24, 0]
cd ./typecheck/should_run && '/64playpen/simonmar/nightly/HEAD-cam-04-unx/x86_64-unknown-linux/inplace/bin/ghc-stage2' -fforce-re...typecheck/should_run/IPRun is currently failing all ways:
```
=====> IPRun(normal) 1973 of 2622 [0, 24, 0]
cd ./typecheck/should_run && '/64playpen/simonmar/nightly/HEAD-cam-04-unx/x86_64-unknown-linux/inplace/bin/ghc-stage2' -fforce-recomp -dcore-lint -dcmm-lint -dno-debug-output -no-user-package-conf -rtsopts -o IPRun IPRun.hs >IPRun.comp.stderr 2>&1
Compile failed (status 256) errors were:
[1 of 1] Compiling Main ( IPRun.hs, IPRun.o )
IPRun.hs:13:18:
Ambiguous type variable `a' in the constraint:
(Num a) arising from the literal `5'
Probable fix: add a type signature that fixes these type variable(s)
In the expression: 5
In the expression: let ?x = 5 in \ () -> ?x
In an equation for `f2': f2 () = let ?x = 5 in \ () -> ?x
IPRun.hs:24:13:
Ambiguous type variable `a1' in the constraint:
(Show a1) arising from a use of `print'
Probable fix: add a type signature that fixes these type variable(s)
In a stmt of a 'do' expression: print (f2 () ())
In the expression:
do { print (f0 ());
print (f1 ());
print (f2 () ());
print (f3 ()) }
In the expression:
let ?x = 0
in
do { print (f0 ());
print (f1 ());
print (f2 () ());
.... }
*** unexpected failure for IPRun(normal)
```
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | ----------------------- |
| Version | 6.12.3 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | highest |
| Resolution | Unresolved |
| Component | Compiler (Type checker) |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture | |
</details>
<!-- {"blocked_by":[],"summary":"IPRun failure","status":"New","operating_system":"","component":"Compiler (Type checker)","related":[],"milestone":"7.0.1","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"6.12.3","keywords":[],"differentials":[],"test_case":"","architecture":"","cc":[""],"type":"Bug","description":"typecheck/should_run/IPRun is currently failing all ways:\r\n\r\n{{{\r\n=====> IPRun(normal) 1973 of 2622 [0, 24, 0]\r\ncd ./typecheck/should_run && '/64playpen/simonmar/nightly/HEAD-cam-04-unx/x86_64-unknown-linux/inplace/bin/ghc-stage2' -fforce-recomp -dcore-lint -dcmm-lint -dno-debug-output -no-user-package-conf -rtsopts -o IPRun IPRun.hs >IPRun.comp.stderr 2>&1\r\nCompile failed (status 256) errors were:\r\n[1 of 1] Compiling Main ( IPRun.hs, IPRun.o )\r\n\r\nIPRun.hs:13:18:\r\n Ambiguous type variable `a' in the constraint:\r\n (Num a) arising from the literal `5'\r\n Probable fix: add a type signature that fixes these type variable(s)\r\n In the expression: 5\r\n In the expression: let ?x = 5 in \\ () -> ?x\r\n In an equation for `f2': f2 () = let ?x = 5 in \\ () -> ?x\r\n\r\nIPRun.hs:24:13:\r\n Ambiguous type variable `a1' in the constraint:\r\n (Show a1) arising from a use of `print'\r\n Probable fix: add a type signature that fixes these type variable(s)\r\n In a stmt of a 'do' expression: print (f2 () ())\r\n In the expression:\r\n do { print (f0 ());\r\n print (f1 ());\r\n print (f2 () ());\r\n print (f3 ()) }\r\n In the expression:\r\n let ?x = 0\r\n in\r\n do { print (f0 ());\r\n print (f1 ());\r\n print (f2 () ());\r\n .... }\r\n\r\n*** unexpected failure for IPRun(normal)\r\n}}}\r\n","type_of_failure":"OtherFailure","blocking":[]} -->7.0.1https://gitlab.haskell.org/ghc/ghc/-/issues/4392tcrun020 failure2019-07-07T18:59:13ZSimon Marlowtcrun020 failure```
tcrun020 is currently failing all ways:
=====> tcrun020(normal) 1947 of 2622 [0, 12, 0]
cd ./typecheck/should_run && '/64playpen/simonmar/nightly/HEAD-cam-04-unx/x86_64-unknown-linux/inplace/bin/ghc-stage2' -fforce-recomp -dcore-lin...```
tcrun020 is currently failing all ways:
=====> tcrun020(normal) 1947 of 2622 [0, 12, 0]
cd ./typecheck/should_run && '/64playpen/simonmar/nightly/HEAD-cam-04-unx/x86_64-unknown-linux/inplace/bin/ghc-stage2' -fforce-recomp -dcore-lint -dcmm-lint -dno-debug-output -no-user-package-conf -rtsopts -o tcrun020 tcrun020.hs >tcrun020.comp.stderr 2>&1
Compile failed (status 256) errors were:
[1 of 1] Compiling Main ( tcrun020.hs, tcrun020.o )
tcrun020.hs:15:21:
Illegal instance declaration for `C1 m Bool'
(All instance types must be of the form (T a1 ... an)
where a1 ... an are type *variables*,
and each type variable appears at most once in the instance head.
Use -XFlexibleInstances if you want to disable this.)
In the instance declaration for `C1 m Bool'
*** unexpected failure for tcrun020(normal)
```
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | ----------------------- |
| Version | 6.12.3 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | highest |
| Resolution | Unresolved |
| Component | Compiler (Type checker) |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture | |
</details>
<!-- {"blocked_by":[],"summary":"tcrun020 failure","status":"New","operating_system":"","component":"Compiler (Type checker)","related":[],"milestone":"7.0.1","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"6.12.3","keywords":[],"differentials":[],"test_case":"","architecture":"","cc":[""],"type":"Bug","description":"{{{\r\ntcrun020 is currently failing all ways:\r\n\r\n=====> tcrun020(normal) 1947 of 2622 [0, 12, 0]\r\ncd ./typecheck/should_run && '/64playpen/simonmar/nightly/HEAD-cam-04-unx/x86_64-unknown-linux/inplace/bin/ghc-stage2' -fforce-recomp -dcore-lint -dcmm-lint -dno-debug-output -no-user-package-conf -rtsopts -o tcrun020 tcrun020.hs >tcrun020.comp.stderr 2>&1\r\nCompile failed (status 256) errors were:\r\n[1 of 1] Compiling Main ( tcrun020.hs, tcrun020.o )\r\n\r\ntcrun020.hs:15:21:\r\n Illegal instance declaration for `C1 m Bool'\r\n (All instance types must be of the form (T a1 ... an)\r\n where a1 ... an are type *variables*,\r\n and each type variable appears at most once in the instance head.\r\n Use -XFlexibleInstances if you want to disable this.)\r\n In the instance declaration for `C1 m Bool'\r\n\r\n*** unexpected failure for tcrun020(normal)\r\n}}}\r\n","type_of_failure":"OtherFailure","blocking":[]} -->7.0.1https://gitlab.haskell.org/ghc/ghc/-/issues/4389Unexpcted failure, ambiguous type variable defaulted (ghci)2019-07-07T18:59:13Zdaniel.is.fischerUnexpcted failure, ambiguous type variable defaulted (ghci)```
=====> print019(ghci) 1444 of 2601 [0, 0, 0]
cd ./ghci.debugger/scripts && HC='/home/dafis/Haskell/Hacking/newghc/inplace/bin/ghc-stage2' HC_OPTS='-dcore-lint -dcmm-lint -dno-debug-output -no-user-package-conf -rtsopts -optl-lz ' '/h...```
=====> print019(ghci) 1444 of 2601 [0, 0, 0]
cd ./ghci.debugger/scripts && HC='/home/dafis/Haskell/Hacking/newghc/inplace/bin/ghc-stage2' HC_OPTS='-dcore-lint -dcmm-lint -dno-debug-output -no-user-package-conf -rtsopts -optl-lz ' '/home/dafis/Haskell/Hacking/newghc/inplace/bin/ghc-stage2' --interactive -v0 -ignore-dot-ghci -dcore-lint -dcmm-lint -dno-debug-output -no-user-package-conf -rtsopts -optl-lz -ignore-dot-ghci <print019.script >print019.run.stdout 2>print019.run.stderr
Actual stderr output differs from expected:
--- ./ghci.debugger/scripts/print019.stderr.normalised 2010-10-12 20:42:15.000000000 +0200
+++ ./ghci.debugger/scripts/print019.run.stderr.normalised 2010-10-12 20:42:15.000000000 +0200
@@ -1,7 +0,0 @@
-
-<interactive>:1:1:
- Ambiguous type variable `t1' in the constraint:
- (Show t1) arising from a use of `print'
- Cannot resolve unknown runtime types: t1
- Use :print or :force to determine these types
- In a stmt of an interactive GHCi command: print it
*** unexpected failure for print019(ghci)
```
Unexpectedly, the type variable was resolved.
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | ------------ |
| Version | 7.1 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | Test Suite |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture | |
</details>
<!-- {"blocked_by":[],"summary":"Unexpcted failure, ambiguous type variable defaulted (ghci)","status":"New","operating_system":"","component":"Test Suite","related":[],"milestone":"","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"7.1","keywords":[],"differentials":[],"test_case":"","architecture":"","cc":[""],"type":"Bug","description":"{{{\r\n=====> print019(ghci) 1444 of 2601 [0, 0, 0]\r\ncd ./ghci.debugger/scripts && HC='/home/dafis/Haskell/Hacking/newghc/inplace/bin/ghc-stage2' HC_OPTS='-dcore-lint -dcmm-lint -dno-debug-output -no-user-package-conf -rtsopts -optl-lz ' '/home/dafis/Haskell/Hacking/newghc/inplace/bin/ghc-stage2' --interactive -v0 -ignore-dot-ghci -dcore-lint -dcmm-lint -dno-debug-output -no-user-package-conf -rtsopts -optl-lz -ignore-dot-ghci <print019.script >print019.run.stdout 2>print019.run.stderr\r\nActual stderr output differs from expected:\r\n--- ./ghci.debugger/scripts/print019.stderr.normalised 2010-10-12 20:42:15.000000000 +0200\r\n+++ ./ghci.debugger/scripts/print019.run.stderr.normalised 2010-10-12 20:42:15.000000000 +0200\r\n@@ -1,7 +0,0 @@\r\n-\r\n-<interactive>:1:1:\r\n- Ambiguous type variable `t1' in the constraint:\r\n- (Show t1) arising from a use of `print'\r\n- Cannot resolve unknown runtime types: t1\r\n- Use :print or :force to determine these types\r\n- In a stmt of an interactive GHCi command: print it\r\n*** unexpected failure for print019(ghci)\r\n}}}\r\nUnexpectedly, the type variable was resolved.","type_of_failure":"OtherFailure","blocking":[]} -->7.0.1https://gitlab.haskell.org/ghc/ghc/-/issues/4368T4144(dyn) failing on x86/Linux2019-07-07T18:59:19ZSimon MarlowT4144(dyn) failing on x86/Linux```
=====> T4144(dyn) 985 of 2596 [0, 13, 0]
cd ./lib/IO && '/playpen/simonmar/nightly/HEAD/i386-unknown-linux/inplace/bin/ghc-stage2' -fforce-recomp -dcore-lint -dcmm-lint -dno-debug-output -no-user-package-conf -rtsopts -o T4144 T4144...```
=====> T4144(dyn) 985 of 2596 [0, 13, 0]
cd ./lib/IO && '/playpen/simonmar/nightly/HEAD/i386-unknown-linux/inplace/bin/ghc-stage2' -fforce-recomp -dcore-lint -dcmm-lint -dno-debug-output -no-user-package-conf -rtsopts -o T4144 T4144.hs -O -dynamic >T4144.comp.stderr 2>&1
cd ./lib/IO && ./T4144 </dev/null >T4144.run.stdout 2>T4144.run.stderr
Wrong exit code (expected 0 , actual 139 )
Stdout:
Stderr:
Segmentation fault
*** unexpected failure for T4144(dyn)
```
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | ------------ |
| Version | 6.13 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | highest |
| Resolution | Unresolved |
| Component | Compiler |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture | |
</details>
<!-- {"blocked_by":[],"summary":"T4144(dyn) failing on x86/Linux","status":"New","operating_system":"","component":"Compiler","related":[],"milestone":"7.0.1","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"6.13","keywords":[],"differentials":[],"test_case":"","architecture":"","cc":[""],"type":"Bug","description":"{{{\r\n=====> T4144(dyn) 985 of 2596 [0, 13, 0]\r\ncd ./lib/IO && '/playpen/simonmar/nightly/HEAD/i386-unknown-linux/inplace/bin/ghc-stage2' -fforce-recomp -dcore-lint -dcmm-lint -dno-debug-output -no-user-package-conf -rtsopts -o T4144 T4144.hs -O -dynamic >T4144.comp.stderr 2>&1\r\ncd ./lib/IO && ./T4144 </dev/null >T4144.run.stdout 2>T4144.run.stderr\r\nWrong exit code (expected 0 , actual 139 )\r\nStdout:\r\n\r\nStderr:\r\nSegmentation fault\r\n\r\n*** unexpected failure for T4144(dyn)\r\n}}}\r\n","type_of_failure":"OtherFailure","blocking":[]} -->7.0.1benlbenlhttps://gitlab.haskell.org/ghc/ghc/-/issues/4360compiler crash building hashed-storage 0.5.32019-07-07T18:59:21Zganeshcompiler crash building hashed-storage 0.5.3```
ghc: panic! (the 'impossible' happened)
(GHC version 7.0.0.20100924 for x86_64-unknown-linux):
Expected one of wanted constraints (BUG)
```
This happens with `cabal install hashed-storage-0.5.3`, but that's a bit of a pain...```
ghc: panic! (the 'impossible' happened)
(GHC version 7.0.0.20100924 for x86_64-unknown-linux):
Expected one of wanted constraints (BUG)
```
This happens with `cabal install hashed-storage-0.5.3`, but that's a bit of a pain to reproduce as it depends on dataenc which needs a dependency bump. I cut it down to the attached file which just depends on mtl.
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | ------------ |
| Version | 6.13 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | Compiler |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | ganesh |
| Operating system | |
| Architecture | |
</details>
<!-- {"blocked_by":[],"summary":"compiler crash building hashed-storage 0.5.3","status":"New","operating_system":"","component":"Compiler","related":[],"milestone":"","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"6.13","keywords":[],"differentials":[],"test_case":"","architecture":"","cc":["ganesh"],"type":"Bug","description":"{{{\r\nghc: panic! (the 'impossible' happened)\r\n (GHC version 7.0.0.20100924 for x86_64-unknown-linux):\r\n Expected one of wanted constraints (BUG)\r\n}}}\r\n\r\nThis happens with {{{cabal install hashed-storage-0.5.3}}}, but that's a bit of a pain to reproduce as it depends on dataenc which needs a dependency bump. I cut it down to the attached file which just depends on mtl.","type_of_failure":"OtherFailure","blocking":[]} -->7.0.1Simon Peyton JonesSimon Peyton Joneshttps://gitlab.haskell.org/ghc/ghc/-/issues/4348bounds error on sparc when compiling haddock2019-07-07T18:59:24ZChristian Maederbounds error on sparc when compiling haddocktrying to build a binary ghc-7.1 under sparc solaris failed (late) as follows:
```
"inplace/bin/ghc-stage2" -H32m -O -optc-mcpu=ultrasparc -opta-mcpu=ultrasparc -DNEW_GHC_LAYOUT -hide-all-packages -i -iutils/haddock/src -iutils/hadd...trying to build a binary ghc-7.1 under sparc solaris failed (late) as follows:
```
"inplace/bin/ghc-stage2" -H32m -O -optc-mcpu=ultrasparc -opta-mcpu=ultrasparc -DNEW_GHC_LAYOUT -hide-all-packages -i -iutils/haddock/src -iutils/haddock/dist/build -iutils/haddock/dist/build/autogen -Iutils/haddock/dist/build -Iutils/haddock/dist/build/autogen -optP-DIN_GHC_TREE -optP-include -optPutils/haddock/dist/build/autogen/cabal_macros.h -package Cabal-1.10.0.0 -package array-0.3.0.2 -package base-4.3.0.0 -package containers-0.4.0.0 -package directory-1.1.0.0 -package filepath-1.2.0.0 -package ghc-7.0.0.20100924 -package pretty-1.0.1.2 -package xhtml-3000.2.0.1 -funbox-strict-fields -O2 -Wall -fwarn-tabs -XForeignFunctionInterface -XCPP -XPatternGuards -XDeriveDataTypeable -XScopedTypeVariables -XMagicHash -no-user-package-conf -rtsopts -odir utils/haddock/dist/build -hidir utils/haddock/dist/build -stubdir utils/haddock/dist/build -hisuf hi -osuf o -hcsuf hc -c utils/haddock/src/Haddock/GhcUtils.hs -o utils/haddock/dist/build/Haddock/GhcUtils.o
ghc-stage2: panic! (the 'impossible' happened)
(GHC version 7.0.0.20100924 for sparc-sun-solaris2):
System.Event.Array.unsafeWrite': bounds error, index 1, capacity 1
Please report this as a GHC bug: http://www.haskell.org/ghc/reportabug
gmake[1]: *** [utils/haddock/dist/build/Haddock/GhcUtils.o] Error 1
gmake: *** [all] Error 2
```
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | ------------ |
| Version | 7.1 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | Compiler |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture | |
</details>
<!-- {"blocked_by":[],"summary":"bounds error on sparc when compiling haddock","status":"New","operating_system":"","component":"Compiler","related":[],"milestone":"","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"7.1","keywords":[],"differentials":[],"test_case":"","architecture":"","cc":[""],"type":"Bug","description":"trying to build a binary ghc-7.1 under sparc solaris failed (late) as follows:\r\n\r\n{{{\r\n\"inplace/bin/ghc-stage2\" -H32m -O -optc-mcpu=ultrasparc -opta-mcpu=ultrasparc -DNEW_GHC_LAYOUT -hide-all-packages -i -iutils/haddock/src -iutils/haddock/dist/build -iutils/haddock/dist/build/autogen -Iutils/haddock/dist/build -Iutils/haddock/dist/build/autogen -optP-DIN_GHC_TREE -optP-include -optPutils/haddock/dist/build/autogen/cabal_macros.h -package Cabal-1.10.0.0 -package array-0.3.0.2 -package base-4.3.0.0 -package containers-0.4.0.0 -package directory-1.1.0.0 -package filepath-1.2.0.0 -package ghc-7.0.0.20100924 -package pretty-1.0.1.2 -package xhtml-3000.2.0.1 -funbox-strict-fields -O2 -Wall -fwarn-tabs -XForeignFunctionInterface -XCPP -XPatternGuards -XDeriveDataTypeable -XScopedTypeVariables -XMagicHash -no-user-package-conf -rtsopts -odir utils/haddock/dist/build -hidir utils/haddock/dist/build -stubdir utils/haddock/dist/build -hisuf hi -osuf o -hcsuf hc -c utils/haddock/src/Haddock/GhcUtils.hs -o utils/haddock/dist/build/Haddock/GhcUtils.o\r\nghc-stage2: panic! (the 'impossible' happened)\r\n (GHC version 7.0.0.20100924 for sparc-sun-solaris2):\r\n System.Event.Array.unsafeWrite': bounds error, index 1, capacity 1\r\n\r\nPlease report this as a GHC bug: http://www.haskell.org/ghc/reportabug\r\n\r\ngmake[1]: *** [utils/haddock/dist/build/Haddock/GhcUtils.o] Error 1\r\ngmake: *** [all] Error 2\r\n}}}\r\n","type_of_failure":"OtherFailure","blocking":[]} -->7.0.1tibbetibbehttps://gitlab.haskell.org/ghc/ghc/-/issues/4345Compiler crash building regex-posix version 0.94.1 using ghc 7.0.1-rc12019-07-07T18:59:25ZdsfCompiler crash building regex-posix version 0.94.1 using ghc 7.0.1-rc1```
Building regex-posix-0.94.1...
[1 of 6] Compiling Text.Regex.Posix.Wrap ( dist-ghc6/build/Text/Regex/Posix/Wrap.hs, dist-ghc6/build/Text/Regex/Posix/Wrap.o )
SpecConstr
Function `lvl_s2Ay{v} [lid]'
has three call patterns, ...```
Building regex-posix-0.94.1...
[1 of 6] Compiling Text.Regex.Posix.Wrap ( dist-ghc6/build/Text/Regex/Posix/Wrap.hs, dist-ghc6/build/Text/Regex/Posix/Wrap.o )
SpecConstr
Function `lvl_s2Ay{v} [lid]'
has three call patterns, but the limit is 0
Use -fspec-constr-count=n to set the bound
Use -dppr-debug to see specialisations
ghc: panic! (the 'impossible' happened)
(GHC version 7.0.0 for i386-unknown-linux):
initC: srt_lbl
```
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | ------------ |
| Version | 7.1 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | Compiler |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture | |
</details>
<!-- {"blocked_by":[],"summary":"Compiler crash building regex-posix version 0.94.1 using ghc 7.0.1-rc1","status":"New","operating_system":"","component":"Compiler","related":[],"milestone":"","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"7.1","keywords":[],"differentials":[],"test_case":"","architecture":"","cc":[""],"type":"Bug","description":"{{{\r\nBuilding regex-posix-0.94.1...\r\n[1 of 6] Compiling Text.Regex.Posix.Wrap ( dist-ghc6/build/Text/Regex/Posix/Wrap.hs, dist-ghc6/build/Text/Regex/Posix/Wrap.o )\r\nSpecConstr\r\n Function `lvl_s2Ay{v} [lid]'\r\n has three call patterns, but the limit is 0\r\n Use -fspec-constr-count=n to set the bound\r\n Use -dppr-debug to see specialisations\r\nghc: panic! (the 'impossible' happened)\r\n (GHC version 7.0.0 for i386-unknown-linux):\r\n\tinitC: srt_lbl\r\n}}}","type_of_failure":"OtherFailure","blocking":[]} -->7.0.1Simon Peyton JonesSimon Peyton Joneshttps://gitlab.haskell.org/ghc/ghc/-/issues/4326Failed building GHC - Error linking on OS X2019-07-07T18:59:31ZAntoineLatterFailed building GHC - Error linking on OS XWhen linking:
"/usr/bin/ld" -r -o compiler/stage2/build/HSghc-6.13.20100919.o \<many things\>
ld quits with the following error:
ld: scattered reloc r_address too large for inferred architecture i386
make\[1\]: \*\*\* \[compiler/stage...When linking:
"/usr/bin/ld" -r -o compiler/stage2/build/HSghc-6.13.20100919.o \<many things\>
ld quits with the following error:
ld: scattered reloc r_address too large for inferred architecture i386
make\[1\]: \*\*\* \[compiler/stage2/build/HSghc-6.13.20100919.o\] Error 1
I'm running OS X 10.6, on a Core 2 Duo (which I'm pretty sure is 64 bit).
I'm building with ghc 6.12.2
I've successfully built 6.13.20100911, but it looks like a lot of changes have moved in since then. This build is from the same tree, but I did a make clean before the pull and a 'perl boot' after, which I thought was the correct process.
Let me know if you need more information, or if there is something I should try.
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | ------------ |
| Version | 6.13 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | Build System |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture | |
</details>
<!-- {"blocked_by":[],"summary":"Error linking on OS X","status":"New","operating_system":"","component":"Build System","related":[],"milestone":"","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"6.13","keywords":[],"differentials":[],"test_case":"","architecture":"","cc":[""],"type":"Bug","description":"When linking:\r\n\r\n\"/usr/bin/ld\" -r -o compiler/stage2/build/HSghc-6.13.20100919.o <many things>\r\n\r\nld quits with the following error:\r\n\r\nld: scattered reloc r_address too large for inferred architecture i386\r\nmake[1]: *** [compiler/stage2/build/HSghc-6.13.20100919.o] Error 1\r\n\r\nI'm running OS X 10.6, on a Core 2 Duo (which I'm pretty sure is 64 bit).\r\n\r\nI'm building with ghc 6.12.2\r\n\r\nI've successfully built 6.13.20100911, but it looks like a lot of changes have moved in since then. This build is from the same tree, but I did a make clean before the pull and a 'perl boot' after, which I thought was the correct process.\r\n\r\nLet me know if you need more information, or if there is something I should try.","type_of_failure":"OtherFailure","blocking":[]} -->7.0.1Ian Lynagh <igloo@earth.li>Ian Lynagh <igloo@earth.li>https://gitlab.haskell.org/ghc/ghc/-/issues/4325Deriving regression2019-07-07T18:59:31ZIan Lynagh <igloo@earth.li>Deriving regressionFirst reported here: http://www.haskell.org/pipermail/cvs-ghc/2010-September/056008.html
This module:
```
module Foo where
data Ord a => Heap a b = Empty | Node a b [Heap a b]
deriving Eq
```
is rejected by HEAD:
```
$ hd -c h.h...First reported here: http://www.haskell.org/pipermail/cvs-ghc/2010-September/056008.html
This module:
```
module Foo where
data Ord a => Heap a b = Empty | Node a b [Heap a b]
deriving Eq
```
is rejected by HEAD:
```
$ hd -c h.hs
h.hs:1:1:
No instance for (Ord a)
arising from a use of `Node'
In the pattern: Node _ _ _
In an equation for `$con2tag_Heap': $con2tag_Heap (Node _ _ _) = 1#
```
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | ------------ |
| Version | 6.13 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | highest |
| Resolution | Unresolved |
| Component | Compiler |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture | |
</details>
<!-- {"blocked_by":[],"summary":"Deriving regression","status":"New","operating_system":"","component":"Compiler","related":[],"milestone":"7.0.1","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"6.13","keywords":[],"differentials":[],"test_case":"","architecture":"","cc":[""],"type":"Bug","description":"First reported here: http://www.haskell.org/pipermail/cvs-ghc/2010-September/056008.html\r\n\r\nThis module:\r\n{{{\r\nmodule Foo where\r\n\r\ndata Ord a => Heap a b = Empty | Node a b [Heap a b]\r\n deriving Eq\r\n}}}\r\nis rejected by HEAD:\r\n{{{\r\n$ hd -c h.hs\r\n\r\nh.hs:1:1:\r\n No instance for (Ord a)\r\n arising from a use of `Node'\r\n In the pattern: Node _ _ _\r\n In an equation for `$con2tag_Heap': $con2tag_Heap (Node _ _ _) = 1#\r\n}}}\r\n","type_of_failure":"OtherFailure","blocking":[]} -->7.0.1https://gitlab.haskell.org/ghc/ghc/-/issues/4098Haskell2010 support2019-07-07T19:00:36ZIan Lynagh <igloo@earth.li>Haskell2010 supportDiscussion on \#ghc concluded:
- Haskell2010, Haskell98 extensions are mutually incompatible, i.e. it is an error if both appear in LANGUAGE pragmas in a source file. Incompatible values on the commandline are OK.
- Haskell2010, Haskell...Discussion on \#ghc concluded:
- Haskell2010, Haskell98 extensions are mutually incompatible, i.e. it is an error if both appear in LANGUAGE pragmas in a source file. Incompatible values on the commandline are OK.
- Haskell2010, Haskell98 are applied before other extensions in LANGUAGE pragmas, on the commandline, etc
- GHC will default to Haskell20107.0.1Ian Lynagh <igloo@earth.li>Ian Lynagh <igloo@earth.li>