diff --git a/TestSuite/lambdas_closures_10.pas b/TestSuite/lambdas_closures_10.pas index 299bec324..cbec3524b 100644 --- a/TestSuite/lambdas_closures_10.pas +++ b/TestSuite/lambdas_closures_10.pas @@ -1,4 +1,4 @@ -type +type Recurrent = class first: T; next: Func; diff --git a/TestSuite/namespaces/nslambda1.pas b/TestSuite/namespaces/nslambda1.pas new file mode 100644 index 000000000..256a96c2c --- /dev/null +++ b/TestSuite/namespaces/nslambda1.pas @@ -0,0 +1,20 @@ +namespace nslambda1; + +type + T1 = class + public static function Contains(s: string; c: char) := s.Any(x -> x = c); + end; + + t2 = class + + const c1 = 5; + + procedure p1; + begin + var arr1 := ArrGen(1, i -> c1); + assert(arr1[0] = 5); + end; + + end; + +end. \ No newline at end of file diff --git a/TestSuite/use_ns_lambda1.pas b/TestSuite/use_ns_lambda1.pas new file mode 100644 index 000000000..1cbf8dce4 --- /dev/null +++ b/TestSuite/use_ns_lambda1.pas @@ -0,0 +1,8 @@ +//nopabcrtl +{$includenamespace 'namespaces/nslambda1.pas'} + +uses nslambda1; +begin + assert(T1.Contains('abc','b') = true); + t2.Create.p1; +end. \ No newline at end of file diff --git a/TreeConverter/TreeConversion/syntax_tree_visitor.cs b/TreeConverter/TreeConversion/syntax_tree_visitor.cs index 2e0872567..e2b2f8718 100644 --- a/TreeConverter/TreeConversion/syntax_tree_visitor.cs +++ b/TreeConverter/TreeConversion/syntax_tree_visitor.cs @@ -4040,7 +4040,7 @@ namespace PascalABCCompiler.TreeConverter { generate_default_constructor(); } - if (!context.namespace_converted) + if (!context.namespace_converted || context.converted_type.name.IndexOf("<>") != -1) visit_class_member_realizations(_class_body); }