Passing delegate indirectly to createLowLevelThread doesn't work
Tejas
notrealemail at gmail.com
Mon Jul 26 16:55:41 UTC 2021
On Monday, 26 July 2021 at 16:46:40 UTC, Tejas wrote:
> 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?
Sorry, it seems to work now.
But why didn't it fail when I didn't qualify ```func``` as
nothrow?
More information about the Digitalmars-d-learn
mailing list