diff --git a/basis/classes/struct/struct.factor b/basis/classes/struct/struct.factor index db65ecab3a..84e1dacc36 100644 --- a/basis/classes/struct/struct.factor +++ b/basis/classes/struct/struct.factor @@ -5,7 +5,7 @@ USING: accessors alien alien.c-types alien.data alien.parser arrays byte-arrays classes classes.parser classes.private classes.struct.bit-accessors classes.tuple classes.tuple.parser combinators combinators.smart cpu.architecture definitions fry -functors.backend generalizations generic generic.parser kernel +functors.backend generalizations generic generic.parser io kernel kernel.private lexer libc locals macros math math.order parser quotations sequences slots slots.private specialized-arrays stack-checker.dependencies summary vectors vocabs.loader @@ -71,6 +71,9 @@ M: struct hashcode* ! optimized down to efficient code if it is. '[ _ boa ] call( ptr -- struct ) ; inline +: read-struct ( class -- struct ) + [ heap-size read ] [ memory>struct ] bi ; + struct ; inline