diff --git a/src/fr/07_ffi.md b/src/fr/07_ffi.md index e90d27e..80b7022 100644 --- a/src/fr/07_ffi.md +++ b/src/fr/07_ffi.md @@ -133,7 +133,15 @@ Les types suivants sont considérés comme compatibles avec le C : - les `enum`s annotées avec `repr(C)` ou `repr(Int)` (où `Int` est un type primitif entier), contenant au moins un variant et dont tous les variants ne comportent pas de champ ; -- les pointeurs. +- les pointeurs ; +- un `Option` où `T` est: + - `core::ptr::NonNull` et `U` est un type compatible avec le C et `Sized`, + auquel cas le type est équivalent à un pointeur `*const T` et `*mut T`, + - `core::num::NonZero*`, auquel cas le type est équivalent au type primitif + entier correspondant ; +- a `repr(transparent)`-annotated `struct` with only one field, where that + field has a C-compatible type. + Les types suivants ne sont pas compatibles avec le C :