ImportC and nothrow/@nogc?

Nicholas Wilson iamthewilsonator at hotmail.com
Sun Aug 18 09:42:16 UTC 2024


On Sunday, 18 August 2024 at 04:43:34 UTC, Manu wrote:
> I just tried using ImportC for the first time ever, but I was 
> surprised
> when I immediately received a sea of errors calling the C 
> symbols from
> `nothrow @nogc` functions.
> My entire program is `nothrow @nogc`... I assumed ImportC would 
> be
> supremely suitable in this context, but apparently not...
>
> Is there something I've missed? Is there a plan for this?
> I found just one single very short forum thread...
>
> This is classic D experience; so much work has been done on 
> this, and then the moment I try and use something I encounter a 
> showstopping oversight >_<

Well, C may call C++ which may throw. It is very unlikely to call 
the GC however.

I don't think it would be hard to add a switch that "`extern(C)` 
functions being called from import C are `@nogc`".


More information about the Digitalmars-d mailing list