CFFI govels size_t into :sizet [Was: cffi 0.17.0 breaks some stuff]

Attila Lendvai attila at lendvai.name
Wed Feb 24 19:10:30 UTC 2016


> I'm seeing a bunch of projects that don't seem to work with the latest CFFI
> release. For example, I get this for a number of projects:
>
> Unhandled CFFI::UNDEFINED-FOREIGN-TYPE-ERROR in thread #<SB-THREAD:THREAD
> "main thread" RUNNING {1003DD5643}>: Unknown CFFI type :SIZET
>
> That happens in gsll and some other projects.

the situation:

cffi-libffi used to grovel size_t under the name :sizet, and it's used
by a few projects, e.g. gsll, which got broken.

i deleted :sizet in this cleanup:
https://github.com/cffi/cffi/commit/4fbe5864552d6f7d8866745f371346174acea942

i've reinstated it temporarily with an OBSOLETE warning just now.

reasons for the removal:

 - for me it seems pretty ad-hoc why this one definition is included
   and the other C stdlib definitions are not.

 - if we want to include and support size_t in the CFFI contract, then
   why in cffi-libffi? keep in mind that it requires groveling, which
   is quite a heavy dependency that CFFI proper doesn't require at
   this point.

 - why in the keyword package? (and it's another discussion why :int
   and other standard C definitions (not to be confused with stdlib.h)
   are in the keyword package, but i won't pursuit that argument at
   this point in time)

maybe we want to open a new ASDF system for the C stdlib that would
depend on the groveler and accommodate for C stdlib definitions like
errno, size_t, etc?

-- 
• attila lendvai
• PGP: 963F 5D5F 45C7 DFCD 0A39
--
“Nationalism of one kind or another was the cause of most of the
genocide of the twentieth century. Flags are bits of colored cloth
that governments use first to shrink-wrap people's brains and then as
ceremonial shrouds to bury the dead.”
— Arundhati Roy (1961–), 'Come September' speech



More information about the cffi-devel mailing list