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