From 0cf54b4f77ccf8376341950b02ceb7c1d1268ed7 Mon Sep 17 00:00:00 2001 From: _ov4 Date: Fri, 30 Oct 2026 14:31:07 +0000 Subject: refactor(strings): construct string values implicitly from raw literals Keep double-quoted literals and text constants as C_STRING values. Use marked STRING constructors for text and CHAR conversion, preserving string operations and I/O through the existing class machinery. Co-Authored-By: Claude Opus 5.5 --- tests/iii/implicit-string-opt-in/program.cps | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 tests/iii/implicit-string-opt-in/program.cps (limited to 'tests/iii/implicit-string-opt-in/program.cps') diff --git a/tests/iii/implicit-string-opt-in/program.cps b/tests/iii/implicit-string-opt-in/program.cps new file mode 100644 index 0000000..b5afccc --- /dev/null +++ b/tests/iii/implicit-string-opt-in/program.cps @@ -0,0 +1,14 @@ +CLASS STRING + Text : C_STRING + PROCEDURE NEW(Value : C_STRING) + Text <- Value + ENDPROCEDURE + FUNCTION C_STR() RETURNS C_STRING + RETURN Text + ENDFUNCTION +ENDCLASS +DECLARE Explicit : STRING("explicit") +OUTPUT Explicit +DECLARE Text : STRING +Text <- "requires opt-in" +OUTPUT "requires opt-in" -- cgit v1.3.1-4-g156e