diff --git a/basis/struct-arrays/struct-arrays-tests.factor b/basis/struct-arrays/struct-arrays-tests.factor index 0a79f47a34..3fbdeacd93 100755 --- a/basis/struct-arrays/struct-arrays-tests.factor +++ b/basis/struct-arrays/struct-arrays-tests.factor @@ -1,11 +1,20 @@ IN: struct-arrays.tests USING: classes.struct struct-arrays tools.test kernel math sequences -alien.syntax alien.c-types destructors libc accessors sequences.private ; +alien.syntax alien.c-types destructors libc accessors sequences.private +compiler.tree.debugger combinators.smart ; STRUCT: test-struct-array { x int } { y int } ; +[ 1 ] [ + 1 struct-array{ test-struct-array } new-sequence length +] unit-test + +[ V{ test-struct-array } ] [ + [ [ test-struct-array ] struct-array{ test-struct-array } output>sequence first ] final-classes +] unit-test + : make-point ( x y -- struct ) test-struct-array ; diff --git a/basis/struct-arrays/struct-arrays.factor b/basis/struct-arrays/struct-arrays.factor index 15f996f3bf..c578082602 100755 --- a/basis/struct-arrays/struct-arrays.factor +++ b/basis/struct-arrays/struct-arrays.factor @@ -48,7 +48,7 @@ ERROR: not-a-struct-class struct-class ; tri struct-array boa ; inline M: struct-array new-sequence - [ element-size>> * (byte-array) ] [ length>> ] [ class>> ] tri + [ element-size>> * (byte-array) ] [ class>> ] 2bi ; inline M: struct-array resize ( n seq -- newseq )