Strange casting error when using lamdas
    Steven Schveighoffer 
    schveiguy at gmail.com
       
    Wed Dec  4 19:23:07 UTC 2019
    
    
  
On 12/3/19 12:35 PM, Robert M. Münch wrote:
> The first three lines are on module level, the second two lines are 
> inside a class member function.
> 
> pragma(msg,WM_MOUSEMOVE_LBUTTON_STREAM.sizeof);
> 
>>> 8LU
> 
> but
> 
> pragma(msg,windows_message_streams[WM_MOUSEMOVE].filter!(win => 
> (win.wParam & MK_LBUTTON)).sizeof);
> 
>>> 16LU
> 
> Why do these two things have different sizes even the declaration is 
> exactly the same?
> 
Is one a delegate and one a function pointer? This can easily happen for 
untyped lambdas.
-Steve
    
    
More information about the Digitalmars-d-learn
mailing list