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

Reply via email to