C is Brittle D is Plastic

Dejan Lekic dejan.lekic at gmail.com
Mon Apr 13 10:20:33 UTC 2026


On Monday, 13 April 2026 at 09:56:19 UTC, Quirin Schroll wrote:
> If you don’t do C interop yourself, it won’t affect you.
>
> If you do C interop, replacing all your `""` literals by `""z` 
> literals is a simple regex replace away plus a linter 
> configuration that keeps you from accidentally using `""`. 
> However, I don’t think you pass many slice typed things to C 
> functions. If you don’t use a linter on a big project, I’d say 
> that’s on you as well.
>
> I expected this to be controversial, but not to that degree.

Luckily this is just an edition so I do not need to use it. - I 
wonder who will?

Is there a comprehensive document describing this decision (DIP 
perhaps)? I am curious to know what do you do when you use 
packageX that contains a function that takes a string - how do 
you know whether you pass it a new "" string or ""z string? You 
need to go and read the code to understand what that function 
does, right? Or ""z is not a "string" but some other type 
(zstring)?


More information about the Digitalmars-d mailing list