diff --git a/basis/alien/arrays/arrays.factor b/basis/alien/arrays/arrays.factor index 94472e8261..727492edb1 100644 --- a/basis/alien/arrays/arrays.factor +++ b/basis/alien/arrays/arrays.factor @@ -8,6 +8,8 @@ UNION: value-type array struct-type ; M: array c-type ; +M: array c-type-class drop object ; + M: array heap-size unclip heap-size [ * ] reduce ; M: array c-type-align first c-type-align ; diff --git a/basis/alien/strings/strings.factor b/basis/alien/strings/strings.factor index 70bbe773ee..b0faadb7fc 100644 --- a/basis/alien/strings/strings.factor +++ b/basis/alien/strings/strings.factor @@ -40,6 +40,9 @@ PREDICATE: string-type < pair M: string-type c-type ; +M: string-type c-type-class + drop object ; + M: string-type heap-size drop "void*" heap-size ; diff --git a/basis/alien/structs/structs.factor b/basis/alien/structs/structs.factor index adb25aa977..1131b1eecd 100644 --- a/basis/alien/structs/structs.factor +++ b/basis/alien/structs/structs.factor @@ -9,6 +9,8 @@ TUPLE: struct-type size align fields ; M: struct-type heap-size size>> ; +M: struct-type c-type-class drop object ; + M: struct-type c-type-align align>> ; M: struct-type c-type-stack-align? drop f ;