is this invalid code

Daniel Davidson nospam at spam.com
Fri Nov 1 04:44:54 PDT 2013


On Friday, 1 November 2013 at 04:26:25 UTC, Ali Çehreli wrote:
>
> You are not going to like my answer but this may be the 16-byte 
> struct bug. Add something to RateCurve and your code works 
> fine... :-/
>
> struct RateCurve {
>   private immutable(DateRate)[] _data;
>     ubyte b;  // <-- ADDED
> }
>

I appreciate and hate the answer :-). I've had a variant of this 
code working for a while. The previous version had DateRate[] 
instead of immutable(DateRate)[]. Since DateRate has no immutable 
aliasing I was trying to go for a more string-like immutable by 
design class.

My hope is that is not the problem, or if it is it rears its head 
only in the context of initializers that leave that member empty. 
In this example if I provided `CFS(1.0, RateCurve([]));`  as the 
initializer then it worked fine.

What exactly is the 16-byte bug? I can't imagine 16-byte structs 
are generally a problem.

Thanks,
Dan


More information about the Digitalmars-d-learn mailing list