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