Hi all.
#1 In src/types.lisp there is following code in function MEM-REF: .... (if (aggregatep parsed-type) (if (bare-struct-type-p parsed-type) .... and its compiler macro has similiar code. However, the gf bare-struct-type-p has no method for foreign-array-type whose objects will obviously pass the aggregatep test. So it breaks some code (on ccl). I suggest that case be added as a method too?(What should it (and even more user-defined types) return?) Or should the checking code be modified here? (As i understood, the whole bare struct mechanism is for compatibility...)
#2 And another thing, i've realized that in my last modification to the STRUCTURE-BY-VALUE-P function (the modification is already pushed to the repo) i should have tested to see if it is a bare struct type. Without the check it will put some deprecated style code into using libffi, which also works correctly but involves unnecessary libffi dependency. Should I fix that?
Regards, Charles Lew