diff --git a/src/fr/07_ffi.md b/src/fr/07_ffi.md index e90d27e..2bf68de 100644 --- a/src/fr/07_ffi.md +++ b/src/fr/07_ffi.md @@ -133,7 +133,14 @@ 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 ; +- les `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 ; +- les `struct`s annotées avec `repr(transparent)` possédant un seul champ, qui + est d'un type C-compatible. Les types suivants ne sont pas compatibles avec le C :