Path: csiph.com!weretis.net!feeder9.news.weretis.net!news.misty.com!news.iecc.com!.POSTED.news.iecc.com!nerds-end From: Derek Newsgroups: comp.compilers Subject: Re: Paper: PR2: Peephole Raw Pointer Rewriting with LLMs for Translating C to Safer Rust Date: Tue, 13 May 2025 21:30:43 +0100 Organization: Compilers Central Sender: johnl%iecc.com Approved: comp.compilers@iecc.com Message-ID: <25-05-005@comp.compilers> References: <25-05-004@comp.compilers> MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Injection-Info: gal.iecc.com; posting-host="news.iecc.com:2001:470:1f07:1126:0:676f:7373:6970"; logging-data="76075"; mail-complaints-to="abuse@iecc.com" Keywords: C, Rust Posted-Date: 13 May 2025 21:16:42 EDT X-submission-address: compilers@iecc.com X-moderator-address: compilers-request@iecc.com X-FAQ-and-archives: http://compilers.iecc.com In-Reply-To: <25-05-004@comp.compilers> Xref: csiph.com comp.compilers:3648 All, > Automated tools translate C to Rust but produce lousy Rust code because of > C's loose pointer semantics. They use an LLM to improve it somewhat. Developers could always stay with C and switch on all the pointer+array bounds checking that GCC/LLVM have been supporting for some years (30 in the case of gcc). I have been trying to find out how many products written in Rust actually ship with the checking still switched on. Way back when, most products written in Pascal used to ship with the checking switched off, so that customers did not see the strange errors+program termination. I suspect that the same is happening with Rust. If so, how does using Rust make the code safer than using C without any checking switched on?