From 9b2d82dadbb465de71985a8db3aa8df454579b72 Mon Sep 17 00:00:00 2001 From: _ov4 Date: Fri, 30 Oct 2026 14:33:33 +0000 Subject: docs(types): explain implicit constructors and raw text literals Co-Authored-By: Claude Opus 5.5 --- AGENTS/PITFALLS/exceptions-and-c-interop.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'AGENTS/PITFALLS/exceptions-and-c-interop.md') diff --git a/AGENTS/PITFALLS/exceptions-and-c-interop.md b/AGENTS/PITFALLS/exceptions-and-c-interop.md index b057d18..0d0f89d 100644 --- a/AGENTS/PITFALLS/exceptions-and-c-interop.md +++ b/AGENTS/PITFALLS/exceptions-and-c-interop.md @@ -19,11 +19,11 @@ Part of the [pitfalls index](../PITFALLS.md). ## C type extensions -- C_STRING is a raw char pointer, not a STRING: explicitly cast to STRING for - printing or string-library calls. +- C_STRING is a raw char pointer. A visible IMPLICIT STRING.NEW(C_STRING) + permits string-library calls, OUTPUT and file text; an explicit cast also works. - C aliases share canonical CIdentity; do not use LLVM widths to recover signedness or nominal type identity. Plain char's signedness is native, unlike pseudocode CHAR. -- C/pseudocode conversions require casts even for literals. C scalar arithmetic uses +- Other C/pseudocode conversions require casts, including numeric literals. C scalar arithmetic uses native promotions, but / always returns REAL. - Cast aliases must precede their use. - long double may have padding; sizeof does not identify its floating-point format. -- cgit v1.3.1-4-g156e