is this invalid code
Ali Çehreli
acehreli at yahoo.com
Thu Oct 31 21:26:25 PDT 2013
On 10/31/2013 08:29 PM, Daniel Davidson wrote:
> The following crashes on writeln, but looks reasonable. Is some form of
> initializing ctor required for RateCurve?
>
> import std.datetime;
> import std.range;
> import std.stdio;
>
> struct DateRate {
> Date date;
> double value = 0.0;
> }
>
> struct RateCurve {
> private immutable(DateRate)[] _data;
> }
>
> struct CFS {
> double initialValue;
> RateCurve growth;
> }
>
> void main() {
> auto s = CFS(1.0);
> // auto s = CFS(1.0, RateCurve()); // crashes
> // auto s = CFS(1.0, RateCurve([])); // works
> writeln(s);
> }
>
> Thanks
> Dan
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
}
Ali
More information about the Digitalmars-d-learn
mailing list