haskell-suite / haskell-names

Haskell suite library for name resolution
52 stars 17 forks source link

Test suite does not compile on GHC 7.4.2 #39

Closed snoyberg closed 11 years ago

snoyberg commented 11 years ago

Here is the error log, let me know if I can provide you with any more information:

Unpacking to haskell-names-0.3.1/
Resolving dependencies...
Configuring haskell-names-0.3.1...
Building haskell-names-0.3.1...
Preprocessing library haskell-names-0.3.1...
[ 1 of 20] Compiling Paths_haskell_names ( dist/build/autogen/Paths_haskell_names.hs, dist/build/Paths_haskell_names.o )
[ 2 of 20] Compiling Language.Haskell.Names.GlobalSymbolTable[boot] ( src/Language/Haskell/Names/GlobalSymbolTable.hs-boot, dist/build/Language/Haskell/Names/GlobalSymbolTable.o-boot )
[ 3 of 20] Compiling Language.Haskell.Names.Open.Derived ( src/Language/Haskell/Names/Open/Derived.hs, dist/build/Language/Haskell/Names/Open/Derived.o )
Loading package ghc-prim ... linking ... done.
Loading package integer-gmp ... linking ... done.
Loading package base ... linking ... done.
Loading package array-0.4.0.0 ... linking ... done.
Loading package deepseq-1.3.0.0 ... linking ... done.
Loading package containers-0.4.2.1 ... linking ... done.
Loading package bytestring-0.9.2.1 ... linking ... done.
Loading package text-0.11.2.3 ... linking ... done.
Loading package hashable-1.1.2.5 ... linking ... done.
Loading package syb-0.3.7 ... linking ... done.
Loading package unordered-containers-0.2.3.3 ... linking ... done.
Loading package uniplate-1.6.11 ... linking ... done.
Loading package type-eq-0.3 ... linking ... done.
Loading package pretty-1.1.1.0 ... linking ... done.
Loading package template-haskell ... linking ... done.
Loading package transformers-0.3.0.0 ... linking ... done.
Loading package traverse-with-class-0.1.1 ... linking ... done.
Loading package filepath-1.3.0.0 ... linking ... done.
Loading package old-locale-1.0.0.4 ... linking ... done.
Loading package old-time-1.1.0.0 ... linking ... done.
Loading package unix-2.5.1.1 ... linking ... done.
Loading package directory-1.1.0.2 ... linking ... done.
Loading package process-1.1.0.1 ... linking ... done.
Loading package Cabal-1.14.0 ... linking ... done.
Loading package base-unicode-symbols-0.2.2.4 ... linking ... done.
Loading package transformers-base-0.4.1 ... linking ... done.
Loading package monad-control-0.3.2.1 ... linking ... done.
Loading package EitherT-0.2.0 ... linking ... done.
Loading package attoparsec-0.10.4.0 ... linking ... done.
Loading package blaze-builder-0.3.1.1 ... linking ... done.
Loading package dlist-0.5 ... linking ... done.
Loading package mtl-2.1.2 ... linking ... done.
Loading package time-1.4 ... linking ... done.
Loading package primitive-0.5.0.1 ... linking ... done.
Loading package vector-0.10.0.1 ... linking ... done.
Loading package aeson-0.6.2.0 ... linking ... done.
Loading package cpphs-1.17.1 ... linking ... done.
Loading package haskell-src-exts-1.14.0 ... linking ... done.
Loading package hse-cpp-0.1 ... linking ... done.
Loading package optparse-applicative-0.5.2.1 ... linking ... done.
Loading package tagged-0.7 ... linking ... done.
Loading package haskell-packages-0.2.3 ... linking ... done.
Loading package nats-0.1.2 ... linking ... done.
Loading package semigroups-0.9.2 ... linking ... done.
Loading package comonad-3.1 ... linking ... done.
Loading package transformers-compat-0.1.1.1 ... linking ... done.
Loading package contravariant-0.4.4 ... linking ... done.
Loading package distributive-0.3.1 ... linking ... done.
Loading package semigroupoids-3.1 ... linking ... done.
Loading package comonad-transformers-3.1 ... linking ... done.
Loading package data-lens-2.10.3 ... linking ... done.
Loading package data-lens-template-2.1.7 ... linking ... done.
[ 4 of 20] Compiling Language.Haskell.Names.Types ( src/Language/Haskell/Names/Types.hs, dist/build/Language/Haskell/Names/Types.o )

src/Language/Haskell/Names/Types.hs:137:1:
    Warning: orphan instance: instance Typeable PackageIdentifier

src/Language/Haskell/Names/Types.hs:138:1:
    Warning: orphan instance: instance Data PackageIdentifier

src/Language/Haskell/Names/Types.hs:139:1:
    Warning: orphan instance: instance Typeable PackageName

src/Language/Haskell/Names/Types.hs:140:1:
    Warning: orphan instance: instance Data PackageName

src/Language/Haskell/Names/Types.hs:141:1:
    Warning: orphan instance: instance Data Version
[ 5 of 20] Compiling Language.Haskell.Names.Interfaces ( src/Language/Haskell/Names/Interfaces.hs, dist/build/Language/Haskell/Names/Interfaces.o )
[ 6 of 20] Compiling Language.Haskell.Names.SyntaxUtils ( src/Language/Haskell/Names/SyntaxUtils.hs, dist/build/Language/Haskell/Names/SyntaxUtils.o )
[ 7 of 20] Compiling Language.Haskell.Names.GlobalSymbolTable ( src/Language/Haskell/Names/GlobalSymbolTable.hs, dist/build/Language/Haskell/Names/GlobalSymbolTable.o )
[ 8 of 20] Compiling Language.Haskell.Names.ScopeUtils ( src/Language/Haskell/Names/ScopeUtils.hs, dist/build/Language/Haskell/Names/ScopeUtils.o )
[ 9 of 20] Compiling Language.Haskell.Names.LocalSymbolTable ( src/Language/Haskell/Names/LocalSymbolTable.hs, dist/build/Language/Haskell/Names/LocalSymbolTable.o )
[10 of 20] Compiling Language.Haskell.Names.RecordWildcards ( src/Language/Haskell/Names/RecordWildcards.hs, dist/build/Language/Haskell/Names/RecordWildcards.o )
[11 of 20] Compiling Language.Haskell.Names.GetBound ( src/Language/Haskell/Names/GetBound.hs, dist/build/Language/Haskell/Names/GetBound.o )
[12 of 20] Compiling Language.Haskell.Names.Open.Base ( src/Language/Haskell/Names/Open/Base.hs, dist/build/Language/Haskell/Names/Open/Base.o )
[13 of 20] Compiling Language.Haskell.Names.Open.Instances ( src/Language/Haskell/Names/Open/Instances.hs, dist/build/Language/Haskell/Names/Open/Instances.o )
[14 of 20] Compiling Language.Haskell.Names.Open ( src/Language/Haskell/Names/Open.hs, dist/build/Language/Haskell/Names/Open.o )
[15 of 20] Compiling Language.Haskell.Names.Annotated ( src/Language/Haskell/Names/Annotated.hs, dist/build/Language/Haskell/Names/Annotated.o )
[16 of 20] Compiling Language.Haskell.Names.Imports ( src/Language/Haskell/Names/Imports.hs, dist/build/Language/Haskell/Names/Imports.o )
[17 of 20] Compiling Language.Haskell.Names.ModuleSymbols ( src/Language/Haskell/Names/ModuleSymbols.hs, dist/build/Language/Haskell/Names/ModuleSymbols.o )
[18 of 20] Compiling Language.Haskell.Names.Exports ( src/Language/Haskell/Names/Exports.hs, dist/build/Language/Haskell/Names/Exports.o )
[19 of 20] Compiling Language.Haskell.Names.Recursive ( src/Language/Haskell/Names/Recursive.hs, dist/build/Language/Haskell/Names/Recursive.o )
[20 of 20] Compiling Language.Haskell.Names ( src/Language/Haskell/Names.hs, dist/build/Language/Haskell/Names.o )
In-place registering haskell-names-0.3.1...
Preprocessing test suite 'test' for haskell-names-0.3.1...
[1 of 1] Compiling Main             ( tests/run.hs, dist/build/test/test-tmp/Main.o )

tests/run.hs:153:28:
    Expecting one more argument to `Rec TestAnn'
    In an expression type signature: Proxy (Rec TestAnn)
    In the expression: Proxy :: Proxy (Rec TestAnn)
    In the expression:
      let ?c = Proxy :: Proxy (Rec TestAnn) in
      let
        one :: TestAnn a => a -> String
        one a = flip F.foldMap (getAnn a) $ uncurry formatAnn
        go :: Rec TestAnn a => a -> String
        ....
      in go
UnkindPartition commented 11 years ago

Yes, it's a known problem — I had to disable testing on travis-ci because of this. You'll probably have to do the same.

As for the reason why this happens, it seems that GHC 7.4 doesn't store the poly-kinded flag in the interface files.

Here's the interface file entry created by 7.6:

  data Proxy (k::BOX) (s::k)
      No C type associated
      RecFlag NonRecursive
      = Proxy :: forall (k::BOX) (s::k). Proxy k s
      FamilyInstance: none

And here's the entry created by 7.4:

  data Proxy s
      RecFlag NonRecursive
      = Proxy :: forall s. Proxy s
      FamilyInstance: none

I am not aware of the corresponding GHC ticket, but since it was fixed in 7.6 I didn't investigate further.

snoyberg commented 11 years ago

OK, thanks for the update, I'll disable the test suite for GHC 7.4.