On 8 April 2013 20:10, Dicebot <m.stras...@gmail.com> wrote:

> 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.
>

It's such a dirty hack though ;) .. that does not give the impression, or
confidence that the language addresses the problem. Actually, quite the
opposite. If I saw that, I'd be worried...

Reply via email to