From eda9ba814ad5eb25d3a656fb880670ddb1246de4 Mon Sep 17 00:00:00 2001 From: tserg <8017125+tserg@users.noreply.github.com> Date: Fri, 17 Nov 2023 15:53:43 +0800 Subject: [PATCH] fix call args constancy --- vyper/semantics/analysis/local.py | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/vyper/semantics/analysis/local.py b/vyper/semantics/analysis/local.py index 342d1aa243..26b767f086 100644 --- a/vyper/semantics/analysis/local.py +++ b/vyper/semantics/analysis/local.py @@ -189,15 +189,14 @@ def __init__( self.expr_visitor = ExprVisitor(self.func) # allow internal function params to be mutable - location, is_immutable = ( - (DataLocation.MEMORY, False) if self.func.is_internal else (DataLocation.CALLDATA, True) + location, is_immutable, constancy = ( + (DataLocation.MEMORY, False, VariableConstancy.MUTABLE) + if self.func.is_internal + else (DataLocation.CALLDATA, True, VariableConstancy.RUNTIME_CONSTANT) ) for arg in self.func.arguments: namespace[arg.name] = VarInfo( - arg.typ, - location=location, - is_immutable=is_immutable, - constancy=VariableConstancy.RUNTIME_CONSTANT, + arg.typ, location=location, is_immutable=is_immutable, constancy=constancy ) for node in fn_node.body: