Disable GC entirely

Dicebot m.strashun at gmail.com
Mon Apr 8 03:10:41 PDT 2013


On Monday, 8 April 2013 at 09:41:05 UTC, Jacob Carlborg wrote:
> On 2013-04-08 11:17, Dicebot wrote:
>
>> b) You are forced to make function templated to mark it as 
>> @nogc. Bad.
>
> It depends on how it's used. If it's enough to annotate a type 
> the function doesn't need to be templated. This should work 
> just fine:
>
>
> class Foo { }
>
> struct ThreadSafe (T)
> {
>     T t;
> }
>
> ThreadSafe!(Foo) foo;
>
> void process (ThreadSafe!(Foo) foo) { /* process foo */ }

Hm, so you propose to use something like Malloced!Data / 
Stack!Data instead of marking whole function with @nogc? 
Interesting, I have never though about this approach, may be 
worth trying as proof-of-concept.


More information about the Digitalmars-d mailing list