Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Following the discussion on #348, this PR proposes the following changes to the Interoperability section:
core::ffi
.std::os::raw
.I intentionally kept mentions of the
cty
crate and thecstr_core
crate since the next section uses the former. We may also consider updating the following section to usecore::ffi
instead of thecty
crate.This PR also introduces two additional changes.
First, it changes the descriptions regarding the implicit conversion between C and Rust types. The book says that the compiler implicitly converts between the two types, but it doesn't sound right to say that the example (reproduced below) works because of the conversion. It works simply because, on platforms where
unsigned int
is 32-bit long,c_uint
andu32
are the same type because the former is a type alias of the latter. This PR also removes theunsafe
from the example since I believe it plays no role.Second, it changes the text formatting in the type correspondence table. The types in the table now use code formatting. Also, the presentation of C pointer types is updated (e.g.
*char
→char *
).Closes #348.