Passing delegate indirectly to createLowLevelThread doesn't work

Tejas notrealemail at gmail.com
Mon Jul 26 16:46:40 UTC 2021


On Monday, 26 July 2021 at 15:42:44 UTC, Paul Backus wrote:
> On Monday, 26 July 2021 at 15:29:26 UTC, Tejas wrote:
>> ```d
>> import std;
>> import core.thread.osthread;
>>
>> void delegate() f;
>> void main()
>> {
>>     void func(){}
>>     f = &func;
>>     createLowLevelThread(&func, 2<<30);//works
>>     createLowLevelThread(f, 2<<30);// doesn't  work!!
>> }
>>
>> ```
>>
>> Can someone help?
>
> The delegate must be `nothrow`:
>
> ```d
> void delegate() nothrow f;
> ```

Doesn't seem to matter. I tried that beforehand. And even if it 
did why does passing it directly work without explicitly 
qualifying it as nothrow then?


More information about the Digitalmars-d-learn mailing list