I'm aware you can use MemoryLayout<T>.size to get the size of a type T.
For example: MemoryLayout<Int32>.size // 4
However, for class instances (objects), MemoryLayout<T>.size returns the size of the reference to the object (8 bytes on 64 bit machines), not the size of the actual objects on the heap.
class ClassA { // Objects should be at least 8 bytes
    let x: Int64 = 0
}
class ClassB  {// Objects should be at least 16 bytes
    let x: Int64 = 0
    let y: Int64 = 0
}
MemoryLayout<ClassA>.size // 8
MemoryLayout<ClassB>.size // 8, as well :(
How can I get the size of the objects themselves?
For those wondering, I have no real need for this, I'm just exploring around Swift and its interoperability with C.
 
     
    