recursion

This commit is contained in:
Alex Burka 2016-06-13 17:47:18 -04:00 committed by Alex Burka
parent cc2fc48dec
commit 84366b6f28

View file

@ -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