From 5963b1fddba11309c8a3efa9efa866530473c42d Mon Sep 17 00:00:00 2001 From: Thomas Bauereiss Date: Sun, 12 Apr 2020 23:42:56 +0100 Subject: Take kid synonyms into account when propagating constants For example, in let datasize = e in ... the typechecker will generate a kid '_datasize if e has an existential type (with one kid), and in let 'datasize = e in ... the typechecker will bind both 'datasize and '_datasize. If we substitute one as part of constant propagation, this patch will make constant propagation also substitute the other. --- test/mono/itself_rewriting.sail | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'test') diff --git a/test/mono/itself_rewriting.sail b/test/mono/itself_rewriting.sail index dfc76cf9..912cb99d 100644 --- a/test/mono/itself_rewriting.sail +++ b/test/mono/itself_rewriting.sail @@ -79,7 +79,7 @@ val test_execute : unit -> unit function test_execute() = { let exp = 4; - let datasize = shl_int(1, exp); + let 'datasize = shl_int(1, exp); execute(datasize) } -- cgit v1.2.3