packages feed

Agda-2.3.2.2: test/fail/Issue483a.agda

-- Andreas, 2011-10-02
{-# OPTIONS --show-implicit #-}
module Issue483a where

data _≡_ {A : Set}(a : A) : A → Set where
  refl : a ≡ a

data Empty : Set where

postulate A : Set

abort : .Empty → A
abort ()

test : let X : .Set1 → A
           X = _
       in  (x : Empty) → X Set ≡ abort x
test x = refl

-- this should fail with message like
--
--  Cannot instantiate the metavariable _16 to abort x since it
--  contains the variable x which is not in scope of the metavariable
--  when checking that the expression refl has type _16 _ ≡ abort x
--
-- a solution like X = λ _ → abort x : Set1 → A
-- would be invalid even though x is irrelevant, because there is no
-- term of type Set1 → A