Skip to content

Instantly share code, notes, and snippets.

@Tritlo
Last active August 5, 2023 14:06
Show Gist options
  • Save Tritlo/405c85003401de9fb481841be7faa940 to your computer and use it in GitHub Desktop.
Save Tritlo/405c85003401de9fb481841be7faa940 to your computer and use it in GitHub Desktop.
ECTA bug replication
compare: unexpected RecIntersect (UnsafeIntersectId 87 87)
CallStack (from HasCallStack):
error, called at src/Data/ECTA/Internal/ECTA/Type.hs:233:31 in ecta-1.0.0.3-498e7c18a08aaf88754f1a9a878d1240a52cf6839dbfbbc4db673e09b2349c98:Data.ECTA.Internal.ECTA.Type
Test.hs:7:5: error:
• Found hole: _ :: a -> a
Where: ‘a’ is a rigid type variable bound by
the type signature for:
f :: forall a. a -> a
at Test.hs:6:1-11
• In the expression: _
In an equation for ‘f’: f = _
• Relevant bindings include f :: a -> a (bound at Test.hs:7:1)
Valid hole fits include f :: a -> a (bound at Test.hs:7:1)
|
7 | f = _
| ^
Error: cabal: Failed to build exe:test_ecta from TestEcta-1.0.0.
name: TestEcta
cabal-version: >= 1.24
build-type: Simple
version: 1.0.0
executable test_ecta
default-language: Haskell2010
build-depends: base >= 4 && < 5,
ecta-plugin
main-is: Test.hs
{-# OPTIONS_GHC -fplugin=ECTA.Plugin #-}
module Main where
-- We need the three of these, if we remove any it does not happen
import Prelude (pred, print, Monad(..))
-- This can be Bool -> Bool also or possibly more,
-- but we remove Bool from the imports.
f :: a -> a
f = _
main = return ()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment