From 2506184b0df69d386f08ae94d28a0c3caa409695 Mon Sep 17 00:00:00 2001 From: johnvg Date: Tue, 7 Aug 2012 09:51:51 +0000 Subject: fix fusion of a function that is both the consumer and the producer. before copying the producer, the type variables are modified to use the type of the producer when updating the types in cases and lets, otherwise a polymorphic type may be specialized, possibly causing a type error later git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2134 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d --- frontend/syntax.dcl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'frontend/syntax.dcl') diff --git a/frontend/syntax.dcl b/frontend/syntax.dcl index 1c76796..2b68014 100644 --- a/frontend/syntax.dcl +++ b/frontend/syntax.dcl @@ -742,8 +742,8 @@ pIsSafe :== True VI_Pattern !AuxiliaryPattern | VI_TypeCodeVariable !TypeCodeVariableInfo | VI_DynamicValueAlias !BoundVar | - VI_Body !SymbIdent !TransformedBody ![FreeVar] | /* used during fusion */ - VI_ExpressionOrBody !Expression !SymbIdent !TransformedBody ![FreeVar] | /* used during fusion */ + VI_Body !SymbIdent !TransformedBody ![FreeVar] ![TypeVar] ![TypeVar] | /* used during fusion */ + VI_ExpressionOrBody !Expression !SymbIdent !TransformedBody ![FreeVar] ![TypeVar] ![TypeVar] | /* used during fusion */ VI_Dictionary !SymbIdent ![Expression] !Type | /* used during fusion */ VI_Extended !ExtendedVarInfo !VarInfo | // MdM -- cgit v1.2.3