No runtime attribute?

Mike via Digitalmars-d digitalmars-d at puremagic.com
Wed Dec 10 04:50:18 PST 2014


On Wednesday, 10 December 2014 at 10:46:58 UTC, bearophile wrote:
> The #[no_std] attribute is used to avoid the runtime in Rust.
>
> Do we have any use for a @noruntime attribute in D?
>
> All @noruntime functions are also @nogc (so you don't need to 
> put both attributes).
>
>
> This could give a compilation error:
>
> void foo(int[] a) @noruntime {
>     int[5] b = a[];
> }
>

I just remembered I had an idea for this specific feature that 
would require no special attribute.  You simply take all the 
hard-coded symbols out of the compiler and put them in a .di 
header file.  Then you can version out, @deprectate, @disable, or 
not import the .di file if you don't want any or all of the 
runtime.

I tried to implement this in GDC, but failed.  I need to put more 
time into it to try and figure it out.  Theoretically, though, I 
think it should work.

Mike


More information about the Digitalmars-d mailing list