Created
November 9, 2015 18:23
-
-
Save osa1/4487b903518462c27741 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
make -C ./tests all | |
make[1]: Entering directory '/home/omer/haskell/ghc_2/testsuite/tests' | |
python2 ../driver/runtests.py -e ghc_compiler_always_flags="'-fforce-recomp -dcore-lint -dcmm-lint -dno-debug-output -no-user-package-db -rtsopts -fno-warn-tabs -fno-warn-missed-specialisations'" -e ghc_debugged=False -e ghc_with_native_codegen=1 -e ghc_with_vanilla=1 -e ghc_with_dynamic=1 -e ghc_with_profiling=0 -e ghc_with_threaded_rts=1 -e ghc_with_dynamic_rts=1 -e ghc_with_interpreter=1 -e ghc_unregisterised=0 -e ghc_dynamic_by_default=False -e ghc_dynamic=True -e ghc_with_smp=1 -e ghc_with_llvm=0 -e windows=False -e darwin=False -e in_tree_compiler=True -e clean_only=False --rootdir=. --configfile=../config/ghc -e 'config.confdir="../config"' -e 'config.platform="x86_64-unknown-linux"' -e 'config.os="linux"' -e 'config.arch="x86_64"' -e 'config.wordsize="64"' -e 'default_testopts.cleanup=""' -e 'config.timeout=int() or config.timeout' -e 'config.exeext=""' -e 'config.top="/home/omer/haskell/ghc_2/testsuite"' --config 'compiler="/home/omer/haskell/ghc_2/inplace/test spaces/ghc-stage2"' --config 'ghc_pkg="/home/omer/haskell/ghc_2/inplace/test spaces/ghc-pkg"' --config 'haddock=' --config 'hp2ps="/home/omer/haskell/ghc_2/inplace/test spaces/hp2ps"' --config 'hpc="/home/omer/haskell/ghc_2/inplace/test spaces/hpc"' --config 'gs="gs"' --config 'timeout_prog="../timeout/install-inplace/bin/timeout"' --rootdir=../../libraries/array/tests --rootdir=../../libraries/base/tests --rootdir=../../libraries/binary/tests --rootdir=../../libraries/bytestring/tests --rootdir=../../libraries/containers/tests --rootdir=../../libraries/deepseq/tests --rootdir=../../libraries/directory/tests --rootdir=../../libraries/filepath/tests --rootdir=../../libraries/ghc-prim/tests --rootdir=../../libraries/haskeline/tests --rootdir=../../libraries/hpc/tests --rootdir=../../libraries/pretty/tests --rootdir=../../libraries/process/tests --rootdir=../../libraries/template-haskell/tests --rootdir=../../libraries/unix/tests --rootdir=../../libraries/containers/tests-ghc \ | |
--only=T3651 --only=T7558 --only=T7293 --only=tcfail167 --only=FrozenErrorTests --only=T8392a --only=T10715 --only=T7786 --only=T11066 \ | |
\ | |
\ | |
\ | |
\ | |
\ | |
Timeout is 300 | |
Found 306 .T files... | |
Beginning test run at Mon Nov 9 13:22:35 2015 EST | |
====> Scanning ./package/all.T | |
====> Scanning ./plugins/all.T | |
====> Scanning ./quotes/all.T | |
====> Scanning ./quotes/TH_spliceViewPat/test.T | |
====> Scanning ./profiling/should_run/all.T | |
====> Scanning ./profiling/should_compile/all.T | |
====> Scanning ./profiling/should_fail/all.T | |
====> Scanning ./indexed-types/should_run/all.T | |
====> Scanning ./indexed-types/should_compile/all.T | |
====> Scanning ./indexed-types/should_fail/all.T | |
====> Scanning ./driver/bug1677/all.T | |
====> Scanning ./driver/retc001/all.T | |
====> Scanning ./driver/sigof04/all.T | |
====> Scanning ./driver/T1372/all.T | |
====> Scanning ./driver/T8526/T8526.T | |
====> Scanning ./driver/dynamic_flags_002/all.T | |
====> Scanning ./driver/T8184/all.T | |
====> Scanning ./driver/recomp011/all.T | |
====> Scanning ./driver/T3007/all.T | |
====> Scanning ./driver/recomp010/all.T | |
====> Scanning ./driver/dynamicToo/dynamicToo004/test.T | |
====> Scanning ./driver/dynamicToo/dynamicToo001/test.T | |
====> Scanning ./driver/dynamicToo/dynamicToo006/test.T | |
====> Scanning ./driver/dynamicToo/all.T | |
====> Scanning ./driver/dynamicToo/dynamicToo002/test.T | |
====> Scanning ./driver/dynamicToo/dynamicToo005/test.T | |
====> Scanning ./driver/recomp012/all.T | |
====> Scanning ./driver/conflicting_flags/test.T | |
====> Scanning ./driver/T7835/all.T | |
====> Scanning ./driver/recomp003/all.T | |
====> Scanning ./driver/T1959/test.T | |
====> Scanning ./driver/sigof02/all.T | |
====> Scanning ./driver/recomp006/all.T | |
====> Scanning ./driver/recomp014/all.T | |
====> Scanning ./driver/all.T | |
====> Scanning ./driver/sigof03/all.T | |
====> Scanning ./driver/recomp001/all.T | |
====> Scanning ./driver/sigof01/all.T | |
====> Scanning ./driver/T5147/all.T | |
====> Scanning ./driver/T437/all.T | |
====> Scanning ./driver/recomp009/all.T | |
====> Scanning ./driver/T7373/all.T | |
====> Scanning ./driver/recomp013/all.T | |
====> Scanning ./driver/retc002/all.T | |
====> Scanning ./driver/retc003/all.T | |
====> Scanning ./driver/T9562/all.T | |
====> Scanning ./driver/T8602/T8602.T | |
====> Scanning ./driver/objc/all.T | |
====> Scanning ./driver/dynamic_flags_001/all.T | |
====> Scanning ./driver/recomp005/all.T | |
====> Scanning ./driver/recomp007/all.T | |
====> Scanning ./driver/recomp004/all.T | |
====> Scanning ./driver/recomp008/all.T | |
====> Scanning ./driver/recomp002/all.T | |
====> Scanning ./driver/should_fail/all.T | |
====> Scanning ./roles/should_compile/all.T | |
====> Scanning ./roles/should_fail/all.T | |
====> Scanning ./rename/prog002/test.T | |
====> Scanning ./rename/prog003/test.T | |
====> Scanning ./rename/prog001/test.T | |
====> Scanning ./rename/prog005/test.T | |
====> Scanning ./rename/prog004/test.T | |
====> Scanning ./rename/should_compile/all.T | |
====> Scanning ./rename/should_compile/T3103/test.T | |
====> Scanning ./rename/should_fail/all.T | |
====> Scanning ./rename/prog006/all.T | |
====> Scanning ./typecheck/prog002/test.T | |
====> Scanning ./typecheck/testeq1/test.T | |
====> Scanning ./typecheck/bug1465/all.T | |
====> Scanning ./typecheck/prog001/test.T | |
====> Scanning ./typecheck/should_run/all.T | |
====> Scanning ./typecheck/should_compile/all.T | |
====> Scanning ./typecheck/should_fail/all.T | |
====> Scanning ./th/all.T | |
====> Scanning ./th/TH_import_loop/TH_import_loop.T | |
====> Scanning ./th/T2014/all.T | |
====> Scanning ./cabal/cabal06/all.T | |
====> Scanning ./cabal/pkg02/all.T | |
====> Scanning ./cabal/cabal03/all.T | |
====> Scanning ./cabal/cabal07/all.T | |
====> Scanning ./cabal/cabal05/all.T | |
====> Scanning ./cabal/all.T | |
====> Scanning ./cabal/cabal04/all.T | |
====> Scanning ./cabal/sigcabal01/all.T | |
====> Scanning ./cabal/cabal01/all.T | |
====> Scanning ./stranal/should_run/all.T | |
====> Scanning ./stranal/should_run/T8425/all.T | |
====> Scanning ./stranal/sigs/all.T | |
====> Scanning ./stranal/should_compile/all.T | |
====> Scanning ./ghci/prog002/prog002.T | |
====> Scanning ./ghci/linking/dyn/all.T | |
====> Scanning ./ghci/linking/all.T | |
====> Scanning ./ghci/prog007/prog007.T | |
====> Scanning ./ghci/prog013/prog013.T | |
====> Scanning ./ghci/prog012/all.T | |
====> Scanning ./ghci/prog011/prog011.T | |
====> Scanning ./ghci/prog003/prog003.T | |
====> Scanning ./ghci/prog008/prog008.T | |
====> Scanning ./ghci/prog001/prog001.T | |
====> Scanning ./ghci/scripts/all.T | |
====> Scanning ./ghci/prog005/prog005.T | |
====> Scanning ./ghci/prog009/ghci.prog009.T | |
====> Scanning ./ghci/should_run/all.T | |
====> Scanning ./ghci/prog004/prog004.T | |
====> Scanning ./ghci/should_fail/all.T | |
====> Scanning ./ghci/prog006/prog006.T | |
====> Scanning ./layout/all.T | |
====> Scanning ./determinism/determ003/all.T | |
====> Scanning ./determinism/all.T | |
====> Scanning ./determinism/determ002/all.T | |
====> Scanning ./callarity/unittest/all.T | |
====> Scanning ./callarity/perf/all.T | |
====> Scanning ./callarity/should_run/all.T | |
====> Scanning ./cpranal/should_run/all.T | |
====> Scanning ./cpranal/should_compile/all.T | |
====> Scanning ./safeHaskell/overlapping/all.T | |
====> Scanning ./safeHaskell/ghci/all.T | |
====> Scanning ./safeHaskell/flags/all.T | |
====> Scanning ./safeHaskell/check/pkg01/all.T | |
====> Scanning ./safeHaskell/check/all.T | |
====> Scanning ./safeHaskell/safeLanguage/all.T | |
====> Scanning ./safeHaskell/unsafeLibs/all.T | |
====> Scanning ./safeHaskell/safeInfered/all.T | |
====> Scanning ./mdo/should_run/all.T | |
====> Scanning ./mdo/should_compile/all.T | |
====> Scanning ./mdo/should_fail/all.T | |
====> Scanning ./perf/compiler/all.T | |
====> Scanning ./perf/space_leaks/all.T | |
====> Scanning ./perf/haddock/all.T | |
====> Scanning ./perf/should_run/all.T | |
====> Scanning ./arrows/should_run/all.T | |
====> Scanning ./arrows/should_compile/all.T | |
====> Scanning ./arrows/should_fail/all.T | |
====> Scanning ./generics/GMap/test.T | |
====> Scanning ./generics/GFunctor/test.T | |
====> Scanning ./generics/all.T | |
====> Scanning ./generics/GEq/test.T | |
====> Scanning ./generics/Uniplate/test.T | |
====> Scanning ./generics/GShow/test.T | |
====> Scanning ./deSugar/should_run/all.T | |
====> Scanning ./deSugar/should_compile/all.T | |
====> Scanning ./annotations/should_run/all.T | |
====> Scanning ./annotations/should_compile/th/all.T | |
====> Scanning ./annotations/should_compile/all.T | |
====> Scanning ./annotations/should_fail/all.T | |
====> Scanning ./numeric/should_run/all.T | |
====> Scanning ./numeric/should_compile/all.T | |
====> Scanning ./quasiquotation/qq006/test.T | |
====> Scanning ./quasiquotation/qq001/test.T | |
====> Scanning ./quasiquotation/qq002/test.T | |
====> Scanning ./quasiquotation/qq008/test.T | |
====> Scanning ./quasiquotation/qq004/test.T | |
====> Scanning ./quasiquotation/T4491/test.T | |
====> Scanning ./quasiquotation/all.T | |
====> Scanning ./quasiquotation/qq007/test.T | |
====> Scanning ./quasiquotation/qq003/test.T | |
====> Scanning ./quasiquotation/qq009/test.T | |
====> Scanning ./quasiquotation/qq005/test.T | |
====> Scanning ./primops/should_run/all.T | |
====> Scanning ./primops/should_compile/all.T | |
====> Scanning ./ghc-api/T7478/all.T | |
====> Scanning ./ghc-api/T4891/all.T | |
====> Scanning ./ghc-api/annotations-literals/all.T | |
====> Scanning ./ghc-api/T10052/all.T | |
====> Scanning ./ghc-api/landmines/all.T | |
====> Scanning ./ghc-api/annotations/all.T | |
====> Scanning ./ghc-api/show-srcspan/all.T | |
====> Scanning ./ghc-api/all.T | |
====> Scanning ./ghc-api/dynCompileExpr/all.T | |
====> Scanning ./ghc-api/apirecomp001/all.T | |
====> Scanning ./module/base01/all.T | |
====> Scanning ./module/mod175/all.T | |
====> Scanning ./module/all.T | |
====> Scanning ./lib/integer/all.T | |
====> Scanning ./dynlibs/all.T | |
====> Scanning ./hpc/all.T | |
====> Scanning ./rebindable/all.T | |
====> Scanning ./cps/all.T | |
====> Scanning ./ghci.debugger/scripts/all.T | |
====> Scanning ./ghci.debugger/scripts/break022/all.T | |
====> Scanning ./ghci.debugger/scripts/break023/all.T | |
====> Scanning ./overloadedlists/should_run/all.T | |
====> Scanning ./overloadedlists/should_fail/all.T | |
====> Scanning ./gadt/all.T | |
====> Scanning ./ghc-e/should_run/all.T | |
====> Scanning ./ghc-e/should_fail/all.T | |
====> Scanning ./boxy/all.T | |
====> Scanning ./parser/unicode/all.T | |
====> Scanning ./parser/prog001/test.T | |
====> Scanning ./parser/should_run/all.T | |
====> Scanning ./parser/should_compile/all.T | |
====> Scanning ./parser/should_compile/T7476/all.T | |
====> Scanning ./parser/should_fail/all.T | |
====> Scanning ./dph/classes/dph-classes.T | |
====> Scanning ./dph/diophantine/dph-diophantine.T | |
====> Scanning ./dph/words/dph-words.T | |
====> Scanning ./dph/quickhull/dph-quickhull.T | |
====> Scanning ./dph/nbody/dph-nbody.T | |
====> Scanning ./dph/primespj/dph-primespj.T | |
====> Scanning ./dph/sumnats/dph-sumnats.T | |
====> Scanning ./dph/enumfromto/dph-enumfromto.T | |
====> Scanning ./dph/dotp/dph-dotp.T | |
====> Scanning ./dph/modules/dph-modules.T | |
====> Scanning ./dph/smvm/dph-smvm.T | |
====> Scanning ./haddock/should_fail_flag_haddock/all.T | |
====> Scanning ./haddock/haddock_examples/test.T | |
====> Scanning ./haddock/should_compile_flag_nohaddock/all.T | |
====> Scanning ./haddock/should_compile_noflag_nohaddock/all.T | |
====> Scanning ./haddock/should_compile_flag_haddock/all.T | |
====> Scanning ./haddock/should_compile_noflag_haddock/all.T | |
====> Scanning ./hsc2hs/all.T | |
====> Scanning ./simplCore/prog002/test.T | |
====> Scanning ./simplCore/prog003/test.T | |
====> Scanning ./simplCore/prog001/test.T | |
====> Scanning ./simplCore/should_run/all.T | |
====> Scanning ./simplCore/should_compile/all.T | |
====> Scanning ./simplCore/should_fail/all.T | |
====> Scanning ./llvm/should_run/subsections_via_symbols/all.T | |
====> Scanning ./llvm/should_compile/all.T | |
====> Scanning ./overloadedrecflds/ghci/all.T | |
====> Scanning ./overloadedrecflds/should_run/all.T | |
====> Scanning ./overloadedrecflds/should_fail/all.T | |
====> Scanning ./codeGen/should_gen_asm/all.T | |
====> Scanning ./codeGen/should_run/all.T | |
====> Scanning ./codeGen/should_compile/all.T | |
====> Scanning ./codeGen/should_fail/all.T | |
====> Scanning ./warnings/minimal/all.T | |
====> Scanning ./warnings/should_compile/all.T | |
====> Scanning ./warnings/should_compile/T10890/all.T | |
====> Scanning ./warnings/should_compile/T10637/all.T | |
====> Scanning ./rts/T5644/all.T | |
====> Scanning ./rts/T9579/all.T | |
====> Scanning ./rts/all.T | |
====> Scanning ./rts/T10672/all.T | |
====> Scanning ./runghc/all.T | |
====> Scanning ./ffi/should_run/all.T | |
====> Scanning ./ffi/should_compile/all.T | |
====> Scanning ./ffi/should_fail/all.T | |
====> Scanning ./programs/rittri/test.T | |
====> Scanning ./programs/joao-circular/test.T | |
====> Scanning ./programs/cvh_unboxing/test.T | |
====> Scanning ./programs/okeefe_neural/test.T | |
====> Scanning ./programs/barton-mangler-bug/test.T | |
====> Scanning ./programs/seward-space-leak/test.T | |
====> Scanning ./programs/jules_xref/test.T | |
====> Scanning ./programs/lennart_range/test.T | |
====> Scanning ./programs/andy_cherry/test.T | |
====> Scanning ./programs/galois_raytrace/test.T | |
====> Scanning ./programs/north_array/test.T | |
====> Scanning ./programs/launchbury/test.T | |
====> Scanning ./programs/strict_anns/test.T | |
====> Scanning ./programs/fun_insts/test.T | |
====> Scanning ./programs/jq_readsPrec/test.T | |
====> Scanning ./programs/maessen-hashtab/test.T | |
====> Scanning ./programs/andre_monad/test.T | |
====> Scanning ./programs/jules_xref2/test.T | |
====> Scanning ./programs/lex/test.T | |
====> Scanning ./programs/life_space_leak/test.T | |
====> Scanning ./programs/thurston-modular-arith/test.T | |
====> Scanning ./programs/10queens/test.T | |
====> Scanning ./programs/hs-boot/all.T | |
====> Scanning ./programs/Queens/test.T | |
====> Scanning ./programs/record_upd/test.T | |
====> Scanning ./programs/fast2haskell/test.T | |
====> Scanning ./programs/sanders_array/test.T | |
====> Scanning ./programs/jl_defaults/test.T | |
====> Scanning ./programs/cholewo-eval/test.T | |
====> Scanning ./programs/jtod_circint/test.T | |
====> Scanning ./concurrent/prog002/all.T | |
====> Scanning ./concurrent/T2317/all.T | |
====> Scanning ./concurrent/prog003/all.T | |
====> Scanning ./concurrent/prog001/all.T | |
====> Scanning ./concurrent/should_run/all.T | |
====> Scanning ./patsyn/should_run/all.T | |
====> Scanning ./patsyn/should_compile/all.T | |
====> Scanning ./patsyn/should_fail/all.T | |
====> Scanning ./ado/all.T | |
====> Scanning ./partial-sigs/should_run/all.T | |
====> Scanning ./partial-sigs/should_compile/all.T | |
====> Scanning ./partial-sigs/should_fail/all.T | |
====> Scanning ./esc/all.T | |
====> Scanning ./polykinds/all.T | |
====> Scanning ./array/should_run/all.T | |
====> Scanning ./deriving/should_run/all.T | |
====> Scanning ./deriving/should_compile/all.T | |
====> Scanning ./deriving/should_fail/all.T | |
====> Scanning ../../libraries/array/tests/all.T | |
====> Scanning ../../libraries/base/tests/Text.Printf/all.T | |
====> Scanning ../../libraries/base/tests/System/all.T | |
====> Scanning ../../libraries/base/tests/Numeric/all.T | |
====> Scanning ../../libraries/base/tests/IO/all.T | |
====> Scanning ../../libraries/base/tests/all.T | |
====> Scanning ../../libraries/base/tests/Concurrent/all.T | |
====> Scanning ../../libraries/hpc/tests/simple/tixs/test.T | |
====> Scanning ../../libraries/hpc/tests/simple/test.T | |
====> Scanning ../../libraries/hpc/tests/fork/test.T | |
====> Scanning ../../libraries/hpc/tests/ghc_ghci/test.T | |
====> Scanning ../../libraries/hpc/tests/function/test.T | |
====> Scanning ../../libraries/hpc/tests/function2/test.T | |
====> Scanning ../../libraries/hpc/tests/raytrace/tixs/test.T | |
====> Scanning ../../libraries/hpc/tests/raytrace/test.T | |
====> Scanning ../../libraries/process/tests/all.T | |
====> Scanning ../../libraries/template-haskell/tests/all.T | |
====> Scanning ../../libraries/unix/tests/all.T | |
====> Scanning ../../libraries/unix/tests/libposix/all.T | |
====> Scanning ../../libraries/containers/tests-ghc/all.T | |
=====> T7786(normal) 1 of 9 [0, 0, 0] | |
cd ./indexed-types/should_fail && "/home/omer/haskell/ghc_2/inplace/test spaces/ghc-stage2" -c T7786.hs -fforce-recomp -dcore-lint -dcmm-lint -dno-debug-output -no-user-package-db -rtsopts -fno-warn-tabs -fno-warn-missed-specialisations -fno-ghci-history > T7786.comp.stderr 2>&1 | |
Actual stderr output differs from expected: | |
--- ./indexed-types/should_fail/T7786.stderr.normalised 2015-11-09 13:22:35.606594904 -0500 | |
+++ ./indexed-types/should_fail/T7786.comp.stderr.normalised 2015-11-09 13:22:35.606594904 -0500 | |
@@ -1,16 +1,4 @@ | |
-T7786.hs:86:22: | |
- Couldn't match type ‘xxx’ with ‘'Empty’ | |
- Inaccessible code in | |
- a pattern with constructor: Nil :: forall (k :: BOX). Sing 'Empty, | |
- in a pattern binding in | |
- 'do' block | |
- In the pattern: Nil | |
- In the pattern: Nil :: Sing xxx | |
- In a stmt of a 'do' block: | |
- Nil :: Sing xxx <- return | |
- (buryUnder (dbKeys sub) k Nil `intersectPaths` dbKeys db) | |
- | |
T7786.hs:86:49: | |
Couldn't match type ‘xxx’ | |
with ‘Intersect (BuriedUnder sub k 'Empty) inv’ | |
*** unexpected failure for T7786(normal) | |
=====> T11066(normal) 2 of 9 [0, 1, 0] | |
cd ./typecheck/should_compile && "/home/omer/haskell/ghc_2/inplace/test spaces/ghc-stage2" -c T11066.hs -fforce-recomp -dcore-lint -dcmm-lint -dno-debug-output -no-user-package-db -rtsopts -fno-warn-tabs -fno-warn-missed-specialisations -fno-ghci-history -fno-warn-incomplete-patterns > T11066.comp.stderr 2>&1 | |
Actual stderr output differs from expected: | |
--- ./typecheck/should_compile/T11066.stderr.normalised 2015-11-09 13:22:35.731594902 -0500 | |
+++ ./typecheck/should_compile/T11066.comp.stderr.normalised 2015-11-09 13:22:35.731594902 -0500 | |
@@ -1,5 +1,5 @@ | |
-T11066.hs:25:16: warning: | |
+T11066.hs:28:16: warning: | |
Couldn't match type ‘Char’ with ‘Int’ | |
Inaccessible code in | |
a pattern with constructor: Refl :: forall a. TyEquality a a, | |
*** unexpected failure for T11066(normal) | |
=====> tcfail167(normal) 3 of 9 [0, 2, 0] | |
cd ./typecheck/should_fail && "/home/omer/haskell/ghc_2/inplace/test spaces/ghc-stage2" -c tcfail167.hs -fforce-recomp -dcore-lint -dcmm-lint -dno-debug-output -no-user-package-db -rtsopts -fno-warn-tabs -fno-warn-missed-specialisations -fno-ghci-history > tcfail167.comp.stderr 2>&1 | |
*** unexpected failure for tcfail167(normal) | |
=====> FrozenErrorTests(normal) 4 of 9 [0, 3, 0] | |
cd ./typecheck/should_fail && "/home/omer/haskell/ghc_2/inplace/test spaces/ghc-stage2" -c FrozenErrorTests.hs -fforce-recomp -dcore-lint -dcmm-lint -dno-debug-output -no-user-package-db -rtsopts -fno-warn-tabs -fno-warn-missed-specialisations -fno-ghci-history > FrozenErrorTests.comp.stderr 2>&1 | |
Actual stderr output differs from expected: | |
--- ./typecheck/should_fail/FrozenErrorTests.stderr.normalised 2015-11-09 13:22:35.927594899 -0500 | |
+++ ./typecheck/should_fail/FrozenErrorTests.comp.stderr.normalised 2015-11-09 13:22:35.927594899 -0500 | |
@@ -1,13 +1,4 @@ | |
-FrozenErrorTests.hs:12:12: | |
- Couldn't match type ‘Int’ with ‘Bool’ | |
- Inaccessible code in | |
- a pattern with constructor: MkT3 :: forall a. (a ~ Bool) => T a, | |
- in a case alternative | |
- In the pattern: MkT3 | |
- In a case alternative: MkT3 -> () | |
- In the expression: case x of { MkT3 -> () } | |
- | |
FrozenErrorTests.hs:26:9: | |
Occurs check: cannot construct the infinite type: a ~ [a] | |
Expected type: [a] | |
*** unexpected failure for FrozenErrorTests(normal) | |
=====> T8392a(normal) 5 of 9 [0, 4, 0] | |
cd ./typecheck/should_fail && "/home/omer/haskell/ghc_2/inplace/test spaces/ghc-stage2" -c T8392a.hs -fforce-recomp -dcore-lint -dcmm-lint -dno-debug-output -no-user-package-db -rtsopts -fno-warn-tabs -fno-warn-missed-specialisations -fno-ghci-history > T8392a.comp.stderr 2>&1 | |
*** unexpected failure for T8392a(normal) | |
=====> T10715(normal) 6 of 9 [0, 5, 0] | |
cd ./typecheck/should_fail && "/home/omer/haskell/ghc_2/inplace/test spaces/ghc-stage2" -c T10715.hs -fforce-recomp -dcore-lint -dcmm-lint -dno-debug-output -no-user-package-db -rtsopts -fno-warn-tabs -fno-warn-missed-specialisations -fno-ghci-history > T10715.comp.stderr 2>&1 | |
Actual stderr output differs from expected: | |
--- ./typecheck/should_fail/T10715.stderr.normalised 2015-11-09 13:22:36.100594897 -0500 | |
+++ ./typecheck/should_fail/T10715.comp.stderr.normalised 2015-11-09 13:22:36.100594897 -0500 | |
@@ -1,15 +1,62 @@ | |
+*** Core Lint errors : in result of Desugar (before optimization) *** | |
+<no location info>: warning: | |
+ [RHS of cobox_azL :: Coercible a_azF (X a_azF)] | |
+ cobox_azP :: Coercible a_azF[sk] (X a_azF[sk]) | |
+ [LclId, Str=DmdType] is out of scope | |
+*** Offending Program *** | |
+Rec { | |
+doCoerce | |
+ :: forall a_aqj. Coercible a_aqj (X a_aqj) => a_aqj -> X a_aqj | |
+[LclIdX, Str=DmdType] | |
+doCoerce = | |
+ / (@ a_azF) (cobox_azG :: Coercible a_azF (X a_azF)) -> | |
+ let { | |
+ cobox_azL :: Coercible a_azF (X a_azF) | |
+ [LclId, Str=DmdType] | |
+ cobox_azL = | |
+ case cobox_azP of cobox_azP { MkCoercible cobox_dzU -> | |
+ MkCoercible | |
+ @ * | |
+ @ a_azF[sk] | |
+ @ (X a_azF) | |
+ @~ (cobox_dzU ; (X (UnivCo ds_tc_coercion phantom a_azF a_azF))_R | |
+ :: a_azF[sk] ~R# X a_azF) | |
+ } } in | |
+ let { | |
+ cobox_azO :: Coercible a_azF (X a_azF) | |
+ [LclId, Str=DmdType] | |
+ cobox_azO = | |
+ case cobox_azG of cobox_azG { MkCoercible cobox_dzV -> | |
+ MkCoercible | |
+ @ * | |
+ @ a_azF | |
+ @ (X a_azF) | |
+ @~ (cobox_dzV | |
+ ; Sym (X (UnivCo ds_tc_coercion phantom a_azF a_azF))_R | |
+ :: a_azF ~R# X a_azF) | |
+ } } in | |
+ letrec { | |
+ doCoerce_azH :: a_azF -> X a_azF | |
+ [LclId, Str=DmdType] | |
+ doCoerce_azH = coerce @ a_azF @ (X a_azF) cobox_azL; } in | |
+ doCoerce_azH | |
-T10715.hs:9:13: | |
- Couldn't match representation of type ‘a’ with that of ‘X a’ | |
- ‘a’ is a rigid type variable bound by | |
- the type signature for: | |
- doCoerce :: Coercible a (X a) => a -> X a | |
- at T10715.hs:9:13 | |
- Inaccessible code in | |
- the type signature for: | |
- doCoerce :: Coercible a (X a) => a -> X a | |
- In the ambiguity check for the type signature for ‘doCoerce’: | |
- doCoerce :: forall a. Coercible a (X a) => a -> X a | |
- To defer the ambiguity check to use sites, enable AllowAmbiguousTypes | |
- In the type signature for ‘doCoerce’: | |
- doCoerce :: Coercible a (X a) => a -> X a | |
\ No newline at end of file | |
+$tcX :: TyCon | |
+[LclIdX[ReflectionId], Str=DmdType] | |
+$tcX = | |
+ TyCon | |
+ 10613834871342864523## | |
+ 7147933648602679662## | |
+ $trModule | |
+ (TrNameS "X"#) | |
+ | |
+$trModule :: Module | |
+[LclIdX[ReflectionId], Str=DmdType] | |
+$trModule = Module (TrNameS "main"#) (TrNameS "T10715"#) | |
+end Rec } | |
+ | |
+*** End of Offense *** | |
+ | |
+ | |
+<no location info>: | |
+Compilation had errors | |
*** unexpected failure for T10715(normal) | |
=====> T3651(normal) 7 of 9 [0, 6, 0] | |
cd ./gadt && "/home/omer/haskell/ghc_2/inplace/test spaces/ghc-stage2" -c T3651.hs -fforce-recomp -dcore-lint -dcmm-lint -dno-debug-output -no-user-package-db -rtsopts -fno-warn-tabs -fno-warn-missed-specialisations -fno-ghci-history > T3651.comp.stderr 2>&1 | |
Actual stderr output differs from expected: | |
--- ./gadt/T3651.stderr.normalised 2015-11-09 13:22:36.211594895 -0500 | |
+++ ./gadt/T3651.comp.stderr.normalised 2015-11-09 13:22:36.211594895 -0500 | |
@@ -1,21 +1,234 @@ | |
+*** Core Lint errors : in result of Desugar (before optimization) *** | |
+<no location info>: warning: | |
+ In a case alternative: (Eq# cobox_dHg :: a_awQ ~# Bool) | |
+ cobox_axu :: () ~ Bool | |
+ [LclId, Str=DmdType] is out of scope | |
+<no location info>: warning: | |
+ In a case alternative: (Eq# cobox_dHn :: a_awZ ~# Bool) | |
+ cobox_axw :: () ~ Bool | |
+ [LclId, Str=DmdType] is out of scope | |
+*** Offending Program *** | |
+Rec { | |
+unsafe3 | |
+ :: forall a_aoH b_aoI. | |
+ (a_aoH ~ b_aoI) => | |
+ Z a_aoH -> Z b_aoI -> a_aoH | |
+[LclIdX, Str=DmdType] | |
+unsafe3 = | |
+ / (@ a_aww) (@ b_awx) (cobox_ax0 :: a_aww ~ b_awx) -> | |
+ letrec { | |
+ unsafe3_ax1 :: Z a_aww -> Z b_awx -> a_aww | |
+ [LclId, Str=DmdType] | |
+ unsafe3_ax1 = | |
+ / (ds_dGx :: Z a_aww) (ds_dGy :: Z b_awx) -> | |
+ let { | |
+ fail_dGE :: Void# -> a_aww | |
+ [LclId, Str=DmdType] | |
+ fail_dGE = | |
+ / (ds_dGF [OS=OneShot] :: Void#) -> | |
+ patError @ a_aww "T3651.hs:17:1-18|function unsafe3"# } in | |
+ case ds_dGx of wild_00 { | |
+ __DEFAULT -> fail_dGE void#; | |
+ B dt_dH1 -> | |
+ let { | |
+ cobox_ax2 :: a_aww ~ Bool | |
+ [LclId, Str=DmdType] | |
+ cobox_ax2 = | |
+ Eq# @ * @ a_aww @ Bool @~ (dt_dH1 :: a_aww ~# Bool) } in | |
+ let { | |
+ cobox_axo :: b_awx ~ Bool | |
+ [LclId, Str=DmdType] | |
+ cobox_axo = | |
+ case cobox_ax0 of cobox_ax0 { Eq# cobox_dH2 -> | |
+ case cobox_ax2 of cobox_ax2 { Eq# cobox_dH3 -> | |
+ Eq# | |
+ @ * @ b_awx @ Bool @~ (Sym cobox_dH2 ; cobox_dH3 :: b_awx ~# Bool) | |
+ } | |
+ } } in | |
+ let { | |
+ cobox_axp :: a_aww ~ Bool | |
+ [LclId, Str=DmdType] | |
+ cobox_axp = | |
+ case cobox_ax0 of cobox_ax0 { Eq# cobox_dH4 -> | |
+ case cobox_axo of cobox_axo { Eq# cobox_dH5 -> | |
+ Eq# @ * @ a_aww @ Bool @~ (cobox_dH4 ; cobox_dH5 :: a_aww ~# Bool) | |
+ } | |
+ } } in | |
+ case ds_dGy of wild_00 { | |
+ __DEFAULT -> fail_dGE void#; | |
+ U dt_dH6 -> | |
+ let { | |
+ cobox_ax3 :: b_awx ~ () | |
+ [LclId, Str=DmdType] | |
+ cobox_ax3 = Eq# @ * @ b_awx @ () @~ (dt_dH6 :: b_awx ~# ()) } in | |
+ let { | |
+ cobox_axr :: Bool ~ Bool | |
+ [LclId, Str=DmdType] | |
+ cobox_axr = | |
+ Eq# @ * @ Bool @ Bool @~ (<Bool>_N :: Bool ~# Bool) } in | |
+ let { | |
+ cobox_ax4 :: Bool ~ a_aww | |
+ [LclId, Str=DmdType] | |
+ cobox_ax4 = | |
+ case cobox_axp of cobox_axp { Eq# cobox_dH7 -> | |
+ case cobox_axr of cobox_axr { Eq# cobox_dH8 -> | |
+ Eq# @ * @ Bool @ a_aww @~ (Sym cobox_dH7 :: Bool ~# a_aww) | |
+ } | |
+ } } in | |
+ let { | |
+ cobox_axq :: Bool ~ () | |
+ [LclId, Str=DmdType] | |
+ cobox_axq = | |
+ case cobox_ax3 of cobox_ax3 { Eq# cobox_dH9 -> | |
+ case cobox_axo of cobox_axo { Eq# cobox_dHa -> | |
+ Eq# @ * @ Bool @ () @~ (Sym cobox_dHa ; cobox_dH9 :: Bool ~# ()) | |
+ } | |
+ } } in | |
+ case cobox_ax4 of cobox_ax4 { Eq# cobox_dHb -> | |
+ True `cast` (Sub cobox_dHb :: Bool ~R# a_aww) | |
+ } | |
+ } | |
+ }; } in | |
+ unsafe3_ax1 | |
-T3651.hs:11:11: | |
- Couldn't match type ‘Bool’ with ‘()’ | |
- Inaccessible code in | |
- a pattern with constructor: U :: Z (), in an equation for ‘unsafe1’ | |
- In the pattern: U | |
- In an equation for ‘unsafe1’: unsafe1 B U = () | |
- | |
-T3651.hs:14:11: | |
- Couldn't match type ‘Bool’ with ‘()’ | |
- Inaccessible code in | |
- a pattern with constructor: U :: Z (), in an equation for ‘unsafe2’ | |
- In the pattern: U | |
- In an equation for ‘unsafe2’: unsafe2 B U = () | |
- | |
-T3651.hs:17:11: | |
- Couldn't match type ‘Bool’ with ‘()’ | |
- Inaccessible code in | |
- a pattern with constructor: U :: Z (), in an equation for ‘unsafe3’ | |
- In the pattern: U | |
- In an equation for ‘unsafe3’: unsafe3 B U = True | |
\ No newline at end of file | |
+unsafe2 | |
+ :: forall b_aoJ a_aoK. | |
+ (a_aoK ~ b_aoJ) => | |
+ Z b_aoJ -> Z a_aoK -> a_aoK | |
+[LclIdX, Str=DmdType] | |
+unsafe2 = | |
+ / (@ b_awP) (@ a_awQ) (cobox_ax8 :: a_awQ ~ b_awP) -> | |
+ letrec { | |
+ unsafe2_ax9 :: Z b_awP -> Z a_awQ -> a_awQ | |
+ [LclId, Str=DmdType] | |
+ unsafe2_ax9 = | |
+ / (ds_dGJ :: Z b_awP) (ds_dGK :: Z a_awQ) -> | |
+ let { | |
+ fail_dGO :: Void# -> a_awQ | |
+ [LclId, Str=DmdType] | |
+ fail_dGO = | |
+ / (ds_dGP [OS=OneShot] :: Void#) -> | |
+ patError @ a_awQ "T3651.hs:14:1-16|function unsafe2"# } in | |
+ case ds_dGJ of wild_00 { | |
+ __DEFAULT -> fail_dGO void#; | |
+ B dt_dHc -> | |
+ let { | |
+ cobox_axa :: b_awP ~ Bool | |
+ [LclId, Str=DmdType] | |
+ cobox_axa = | |
+ Eq# @ * @ b_awP @ Bool @~ (dt_dHc :: b_awP ~# Bool) } in | |
+ let { | |
+ cobox_axs :: a_awQ ~ Bool | |
+ [LclId, Str=DmdType] | |
+ cobox_axs = | |
+ case cobox_ax8 of cobox_ax8 { Eq# cobox_dHd -> | |
+ case cobox_axa of cobox_axa { Eq# cobox_dHe -> | |
+ Eq# @ * @ a_awQ @ Bool @~ (cobox_dHd ; cobox_dHe :: a_awQ ~# Bool) | |
+ } | |
+ } } in | |
+ case ds_dGK of wild_00 { | |
+ __DEFAULT -> fail_dGO void#; | |
+ U dt_dHf -> | |
+ let { | |
+ cobox_axb :: a_awQ ~ () | |
+ [LclId, Str=DmdType] | |
+ cobox_axb = Eq# @ * @ a_awQ @ () @~ (dt_dHf :: a_awQ ~# ()) } in | |
+ let { | |
+ cobox_axc :: () ~ a_awQ | |
+ [LclId, Str=DmdType] | |
+ cobox_axc = | |
+ case cobox_axs of cobox_axs { Eq# cobox_dHg -> | |
+ case cobox_axu of cobox_axu { Eq# cobox_dHh -> | |
+ Eq# @ * @ () @ a_awQ @~ (cobox_dHh ; Sym cobox_dHg :: () ~# a_awQ) | |
+ } | |
+ } } in | |
+ let { | |
+ cobox_axt :: Bool ~ () | |
+ [LclId, Str=DmdType] | |
+ cobox_axt = | |
+ case cobox_axb of cobox_axb { Eq# cobox_dHi -> | |
+ case cobox_axs of cobox_axs { Eq# cobox_dHj -> | |
+ Eq# @ * @ Bool @ () @~ (Sym cobox_dHj ; cobox_dHi :: Bool ~# ()) | |
+ } | |
+ } } in | |
+ case cobox_axc of cobox_axc { Eq# cobox_dHk -> | |
+ () `cast` (Sub cobox_dHk :: () ~R# a_awQ) | |
+ } | |
+ } | |
+ }; } in | |
+ unsafe2_ax9 | |
+ | |
+unsafe1 :: forall a_aoL. Z a_aoL -> Z a_aoL -> a_aoL | |
+[LclIdX, Str=DmdType] | |
+unsafe1 = | |
+ / (@ a_awZ) -> | |
+ letrec { | |
+ unsafe1_axg :: Z a_awZ -> Z a_awZ -> a_awZ | |
+ [LclId, Str=DmdType] | |
+ unsafe1_axg = | |
+ / (ds_dGT :: Z a_awZ) (ds_dGU :: Z a_awZ) -> | |
+ let { | |
+ fail_dGX :: Void# -> a_awZ | |
+ [LclId, Str=DmdType] | |
+ fail_dGX = | |
+ / (ds_dGY [OS=OneShot] :: Void#) -> | |
+ patError @ a_awZ "T3651.hs:11:1-16|function unsafe1"# } in | |
+ case ds_dGT of wild_00 { | |
+ __DEFAULT -> fail_dGX void#; | |
+ B dt_dHl -> | |
+ let { | |
+ cobox_axh :: a_awZ ~ Bool | |
+ [LclId, Str=DmdType] | |
+ cobox_axh = | |
+ Eq# @ * @ a_awZ @ Bool @~ (dt_dHl :: a_awZ ~# Bool) } in | |
+ case ds_dGU of wild_00 { | |
+ __DEFAULT -> fail_dGX void#; | |
+ U dt_dHm -> | |
+ let { | |
+ cobox_axi :: a_awZ ~ () | |
+ [LclId, Str=DmdType] | |
+ cobox_axi = Eq# @ * @ a_awZ @ () @~ (dt_dHm :: a_awZ ~# ()) } in | |
+ let { | |
+ cobox_axj :: () ~ a_awZ | |
+ [LclId, Str=DmdType] | |
+ cobox_axj = | |
+ case cobox_axh of cobox_axh { Eq# cobox_dHn -> | |
+ case cobox_axw of cobox_axw { Eq# cobox_dHo -> | |
+ Eq# @ * @ () @ a_awZ @~ (cobox_dHo ; Sym cobox_dHn :: () ~# a_awZ) | |
+ } | |
+ } } in | |
+ let { | |
+ cobox_axv :: Bool ~ () | |
+ [LclId, Str=DmdType] | |
+ cobox_axv = | |
+ case cobox_axh of cobox_axh { Eq# cobox_dHp -> | |
+ case cobox_axi of cobox_axi { Eq# cobox_dHq -> | |
+ Eq# @ * @ Bool @ () @~ (Sym cobox_dHp ; cobox_dHq :: Bool ~# ()) | |
+ } | |
+ } } in | |
+ case cobox_axj of cobox_axj { Eq# cobox_dHr -> | |
+ () `cast` (Sub cobox_dHr :: () ~R# a_awZ) | |
+ } | |
+ } | |
+ }; } in | |
+ unsafe1_axg | |
+ | |
+$tcZ :: TyCon | |
+[LclIdX[ReflectionId], Str=DmdType] | |
+$tcZ = | |
+ TyCon | |
+ 6565900260553712619## | |
+ 6152628505149241622## | |
+ $trModule | |
+ (TrNameS "Z"#) | |
+ | |
+$trModule :: Module | |
+[LclIdX[ReflectionId], Str=DmdType] | |
+$trModule = Module (TrNameS "main"#) (TrNameS "T3651"#) | |
+end Rec } | |
+ | |
+*** End of Offense *** | |
+ | |
+ | |
+<no location info>: | |
+Compilation had errors | |
*** unexpected failure for T3651(normal) | |
=====> T7293(normal) 8 of 9 [0, 7, 0] | |
cd ./gadt && "/home/omer/haskell/ghc_2/inplace/test spaces/ghc-stage2" -c T7293.hs -fforce-recomp -dcore-lint -dcmm-lint -dno-debug-output -no-user-package-db -rtsopts -fno-warn-tabs -fno-warn-missed-specialisations -fno-ghci-history > T7293.comp.stderr 2>&1 | |
*** unexpected failure for T7293(normal) | |
=====> T7558(normal) 9 of 9 [0, 8, 0] | |
cd ./gadt && "/home/omer/haskell/ghc_2/inplace/test spaces/ghc-stage2" -c T7558.hs -fforce-recomp -dcore-lint -dcmm-lint -dno-debug-output -no-user-package-db -rtsopts -fno-warn-tabs -fno-warn-missed-specialisations -fno-ghci-history > T7558.comp.stderr 2>&1 | |
Actual stderr output differs from expected: | |
--- ./gadt/T7558.stderr.normalised 2015-11-09 13:22:36.434594892 -0500 | |
+++ ./gadt/T7558.comp.stderr.normalised 2015-11-09 13:22:36.434594892 -0500 | |
@@ -1,13 +1,69 @@ | |
+*** Core Lint errors : in result of Desugar (before optimization) *** | |
+<no location info>: warning: | |
+ [RHS of cobox_apG :: Maybe a_apB ~ a_apB] | |
+ cobox_apK :: a_apB[sk] ~ Maybe a_apB[sk] | |
+ [LclId, Str=DmdType] is out of scope | |
+*** Offending Program *** | |
+Rec { | |
+f :: forall a_aoH. T a_aoH a_aoH -> Bool | |
+[LclIdX, Str=DmdType] | |
+f = | |
+ / (@ a_apB) -> | |
+ letrec { | |
+ f_apC :: T a_apB a_apB -> Bool | |
+ [LclId, Str=DmdType] | |
+ f_apC = | |
+ / (ds_dyL :: T a_apB a_apB) -> | |
+ case ds_dyL of wild_00 { MkT dt_dyO x_aoI y_aoJ -> | |
+ let { | |
+ cobox_apD :: a_apB ~ Maybe a_apB | |
+ [LclId, Str=DmdType] | |
+ cobox_apD = | |
+ Eq# | |
+ @ * | |
+ @ a_apB | |
+ @ (Maybe a_apB) | |
+ @~ (dt_dyO :: a_apB ~# Maybe a_apB) } in | |
+ let { | |
+ cobox_apG :: Maybe a_apB ~ a_apB | |
+ [LclId, Str=DmdType] | |
+ cobox_apG = | |
+ case cobox_apK of cobox_apK { Eq# cobox_dyP -> | |
+ Eq# | |
+ @ * | |
+ @ (Maybe a_apB[sk]) | |
+ @ a_apB[sk] | |
+ @~ (Sym cobox_dyP :: Maybe a_apB[sk] ~# a_apB[sk]) | |
+ } } in | |
+ case : @ a_apB | |
+ x_aoI | |
+ (: @ a_apB | |
+ (case cobox_apG of cobox_apG { Eq# cobox_dyQ -> | |
+ y_aoJ `cast` (Sub cobox_dyQ :: Maybe a_apB ~R# a_apB) | |
+ }) | |
+ ([] @ a_apB)) | |
+ of wild_00 { __DEFAULT -> | |
+ True | |
+ } | |
+ }; } in | |
+ f_apC | |
-T7558.hs:8:4: | |
- Couldn't match type ‘a’ with ‘Maybe a’ | |
- ‘a’ is a rigid type variable bound by | |
- the type signature for: f :: T a a -> Bool at T7558.hs:7:6 | |
- Inaccessible code in | |
- a pattern with constructor: | |
- MkT :: forall a b. (a ~ Maybe b) => a -> Maybe b -> T a b, | |
- in an equation for ‘f’ | |
- Relevant bindings include | |
- f :: T a a -> Bool (bound at T7558.hs:8:1) | |
- In the pattern: MkT x y | |
- In an equation for ‘f’: f (MkT x y) = [x, y] `seq` True | |
\ No newline at end of file | |
+$tcT :: TyCon | |
+[LclIdX[ReflectionId], Str=DmdType] | |
+$tcT = | |
+ TyCon | |
+ 7456655229975568482## | |
+ 8851702305643516088## | |
+ $trModule | |
+ (TrNameS "T"#) | |
+ | |
+$trModule :: Module | |
+[LclIdX[ReflectionId], Str=DmdType] | |
+$trModule = Module (TrNameS "main"#) (TrNameS "T7558"#) | |
+end Rec } | |
+ | |
+*** End of Offense *** | |
+ | |
+ | |
+<no location info>: | |
+Compilation had errors | |
*** unexpected failure for T7558(normal) | |
Unexpected results from: | |
TEST="T3651 T7558 T7293 tcfail167 FrozenErrorTests T8392a T10715 T7786 T11066" | |
OVERALL SUMMARY for test run started at Mon Nov 9 13:22:35 2015 EST | |
0:00:01 spent to go through | |
9 total tests, which gave rise to | |
11 test cases, of which | |
2 were skipped | |
0 had missing libraries | |
0 expected passes | |
0 expected failures | |
0 caused framework failures | |
0 unexpected passes | |
9 unexpected failures | |
0 unexpected stat failures | |
Unexpected failures: | |
gadt T3651 [stderr mismatch] (normal) | |
gadt T7293 [exit code 0] (normal) | |
gadt T7558 [stderr mismatch] (normal) | |
indexed-types/should_fail T7786 [stderr mismatch] (normal) | |
typecheck/should_compile T11066 [stderr mismatch] (normal) | |
typecheck/should_fail FrozenErrorTests [stderr mismatch] (normal) | |
typecheck/should_fail T10715 [stderr mismatch] (normal) | |
typecheck/should_fail T8392a [exit code 0] (normal) | |
typecheck/should_fail tcfail167 [exit code 0] (normal) | |
make[1]: Leaving directory '/home/omer/haskell/ghc_2/testsuite/tests' |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment