recursion
This commit is contained in:
parent
cc2fc48dec
commit
84366b6f28
1 changed files with 4 additions and 4 deletions
|
|
@ -580,10 +580,10 @@ However, the language provides a workaround.
|
|||
|
||||
As a special case, an `enum` is eligible for the "nullable pointer optimization" if it
|
||||
contains exactly two variants, one of which contains no data and the other contains
|
||||
a single field of one of the non-nullable types listed above. This means it is represented
|
||||
as a single pointer, and the non-data variant is represented as the null pointer. This is
|
||||
called an "optimization", but unlike other optimizations it is guaranteed to apply to
|
||||
eligible types.
|
||||
a single field of one of the non-nullable types listed above (or a struct containing such a type).
|
||||
This means it is represented as a single pointer, and the non-data variant is represented as a
|
||||
null pointer. This is called an "optimization", but unlike other optimizations it is guaranteed
|
||||
to apply to eligible types.
|
||||
|
||||
The most common type that takes advantage of the nullable pointer optimization is `Option<T>`,
|
||||
where `None` corresponds to `null`. So `Option<extern "C" fn(c_int) -> c_int>` is a correct way
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue