dip1000 and preview in combine to cause extra safety errors

Walter Bright newshound2 at digitalmars.com
Mon Jun 13 22:49:53 UTC 2022


On 6/10/2022 5:46 AM, Steven Schveighoffer wrote:
> I'm trying to parse this. You mean to say, there are enough unmarked extern(C) 
> functions inside druntime, that fixing them all *as they come up* is not 
> scalable? That seems unlikely. Note that modules like core.stdc.math has 
> @trusted: at the top already.

It is not scalable for the reasons mentioned. Nobody has ever gone through 
windows.d to see what to mark things as, and nobody ever will.


> I will volunteer to mark any druntime extern(C) functions within a 2-day 
> turnaround if they are posted on bugzilla and assigned to me. Start with 
> @system: at the top, and mark them as the errors occur.

They aren't even done *now*, after 15+ years. See windows.d and all the the others.


> If you think the "no-edits" bar is only cleared if 
> extern(C) functions are assumed @safe, you are 100% wrong.

I'm not seeing how I am wrong.


> You can point the complaints about extern(C) functions at my ear, and deal with 
> the significant majority of complaints that are about @safe by default D code.

That's a very nice offer, but that won't change that I get the complaints and 
people want me to fix it, not brush it off on you.


> I would love to see a viable safe-by-default DIP get added.

At least we can agree on that!



More information about the Digitalmars-d mailing list