Commit f0d65bc7 authored by simonpj's avatar simonpj
Browse files

[project @ 2001-05-31 09:46:21 by simonpj]

----------------------------------
	Fix an existential-constructor bug
	----------------------------------

		DON'T MERGE!

This fixes a bug I introduced in my
tidying up for scoped type variables.

You'll get bizarre behaviour from the HEAD if
you use existentials, until you add this fix!
parent 6ec7f45f
......@@ -224,9 +224,9 @@ tcMatchPats pats expected_ty thing_inside
-- I'm a bit concerned that lie_req1 from an 'inner' pattern in the list
-- might need (via lie_req2) something made available from an 'outer'
-- pattern. But it's inconvenient to deal with, and I can't find an example
tcCheckExistentialPat pat_ids ex_tvs lie_avail lie_req1 rhs_ty `thenTc` \ (lie_req1', ex_binds) ->
tcCheckExistentialPat pat_ids ex_tvs lie_avail lie_req2 rhs_ty `thenTc` \ (lie_req2', ex_binds) ->
returnTc (result, lie_req1' `plusLIE` lie_req2, ex_binds)
returnTc (result, lie_req1 `plusLIE` lie_req2', ex_binds)
tcAddScopedTyVars :: [RenamedHsType] -> TcM a -> TcM a
-- Find the not-already-in-scope signature type variables,
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment