blob: f7d9dad3444fa5dddd3737fa82d355d50b4185f0 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
{-# OPTIONS -XImplicitParams -XRankNTypes #-}
module Bug where
t :: forall a. ((?p :: Int) => a) -> String
t _ = "Hello"
f :: (forall a. a -> String) -> Int
f _ = 3
result :: Int
result = f (\x -> t x)
-- Simple subsumption (#17775) requires eta expansion here
-- This should work.
-- Elaborated result = f (/\a. \x:a. t @a (\p::Int. x))
-- But it did not work in 8.0.1; fixed in HEAD
|