diff --git a/TestSuite/lambdas_closures_15_const.pas b/TestSuite/lambdas_closures_15_const.pas new file mode 100644 index 000000000..2b4e5f71b --- /dev/null +++ b/TestSuite/lambdas_closures_15_const.pas @@ -0,0 +1,15 @@ +procedure p1; +const + c1 = ' '; +begin + var p: procedure := ()-> + begin + var s := c1; + Assert(s=' '); + end; + p; +end; + +begin + p1; +end. \ No newline at end of file diff --git a/TreeConverter/LambdaExpressions/Closure/CapturedVariablesTreeBuilder.cs b/TreeConverter/LambdaExpressions/Closure/CapturedVariablesTreeBuilder.cs index 2f49217b5..19d56099a 100644 --- a/TreeConverter/LambdaExpressions/Closure/CapturedVariablesTreeBuilder.cs +++ b/TreeConverter/LambdaExpressions/Closure/CapturedVariablesTreeBuilder.cs @@ -166,6 +166,7 @@ namespace TreeConverter.LambdaExpressions.Closure si.sym_info.semantic_node_type == semantic_node_type.template_type || si.sym_info.semantic_node_type == semantic_node_type.generic_indicator || si.sym_info.semantic_node_type == semantic_node_type.class_constant_definition || + si.sym_info.semantic_node_type == semantic_node_type.function_constant_definition || // SSM 03.11.18 bug fix #1449 si.sym_info.semantic_node_type == semantic_node_type.basic_function_node && (idName == "exit" || idName == "continue" || idName == "break")) { return;