Thread overview
Orange lib help
Mar 26, 2013
Dan
Mar 26, 2013
Jacob Carlborg
Mar 27, 2013
Dan
Mar 27, 2013
Jacob Carlborg
Mar 28, 2013
Jacob Carlborg
Mar 28, 2013
Jacob Carlborg
March 26, 2013
Hi -

I get some errors from this simple code:

class Class_a {
   double[2][2] ob;
}
class Class_b : Class_a { int obb;}
Serializer.register!(Class_b);

The error is:
Error: variable orange.serialization.Serializer.Serializer.serializeArray!(inout(double[2LU][2LU])).serializeArray.__lambda2008.__aggr2839 inout variables can only be declared inside inout functions

I can't seem to find any answers in the documentation. Anybody could help me out?

thanks
dan
March 26, 2013
On 2013-03-26 16:34, Dan wrote:
> Hi -
>
> I get some errors from this simple code:
>
> class Class_a {
>     double[2][2] ob;
> }
> class Class_b : Class_a { int obb;}
> Serializer.register!(Class_b);
>
> The error is:
> Error: variable
> orange.serialization.Serializer.Serializer.serializeArray!(inout(double[2LU][2LU])).serializeArray.__lambda2008.__aggr2839
> inout variables can only be declared inside inout functions
>
> I can't seem to find any answers in the documentation. Anybody could
> help me out?

I'll take a look. Which compiler and version are you using?

-- 
/Jacob Carlborg
March 27, 2013
On Tuesday, 26 March 2013 at 19:35:51 UTC, Jacob Carlborg wrote:

> I'll take a look. Which compiler and version are you using?


DMD64 D Compiler v2.062
ubuntu 64 bit

thanks!
March 27, 2013
On 2013-03-26 16:34, Dan wrote:
> Hi -
>
> I get some errors from this simple code:
>
> class Class_a {
>     double[2][2] ob;
> }
> class Class_b : Class_a { int obb;}
> Serializer.register!(Class_b);
>
> The error is:
> Error: variable
> orange.serialization.Serializer.Serializer.serializeArray!(inout(double[2LU][2LU])).serializeArray.__lambda2008.__aggr2839
> inout variables can only be declared inside inout functions
>
> I can't seem to find any answers in the documentation. Anybody could
> help me out?

Seems to be a problem with arrays in base classes. I'm looking into it.

-- 
/Jacob Carlborg
March 28, 2013
On 2013-03-26 16:34, Dan wrote:
> Hi -
>
> I get some errors from this simple code:
>
> class Class_a {
>     double[2][2] ob;
> }
> class Class_b : Class_a { int obb;}
> Serializer.register!(Class_b);
>
> The error is:
> Error: variable
> orange.serialization.Serializer.Serializer.serializeArray!(inout(double[2LU][2LU])).serializeArray.__lambda2008.__aggr2839
> inout variables can only be declared inside inout functions
>
> I can't seem to find any answers in the documentation. Anybody could
> help me out?

There seems to be a design issue with "inout":

http://forum.dlang.org/thread/kj0vat$2o7e$1@digitalmars.com

-- 
/Jacob Carlborg
March 28, 2013
On 2013-03-26 16:34, Dan wrote:
> Hi -
>
> I get some errors from this simple code:
>
> class Class_a {
>     double[2][2] ob;
> }
> class Class_b : Class_a { int obb;}
> Serializer.register!(Class_b);
>
> The error is:
> Error: variable
> orange.serialization.Serializer.Serializer.serializeArray!(inout(double[2LU][2LU])).serializeArray.__lambda2008.__aggr2839
> inout variables can only be declared inside inout functions
>
> I can't seem to find any answers in the documentation. Anybody could
> help me out?

Fixed in https://github.com/jacob-carlborg/orange/commit/9c632660db5199640d9aeded098ce359cc5b53e1

-- 
/Jacob Carlborg