|
|
|
@ -705,8 +705,14 @@ for more information.
|
|
|
|
|
# Representing opaque structs
|
|
|
|
|
|
|
|
|
|
Sometimes, a C library wants to provide a pointer to something, but not let you
|
|
|
|
|
know the internal details of the thing it wants. The simplest way is to use a
|
|
|
|
|
`void *` argument:
|
|
|
|
|
know the internal details of the thing it wants. The simplest way is to use "extern types".
|
|
|
|
|
But it's currently (as of June 2021) unstable and has some unresolved questions,
|
|
|
|
|
see the [RFC page][extern-type-rfc] and the [tracking issue][extern-type-issue] for more details.
|
|
|
|
|
|
|
|
|
|
[extern-type-issue]: https://github.com/rust-lang/rust/issues/43467
|
|
|
|
|
[extern-type-rfc]: https://rust-lang.github.io/rfcs/1861-extern-types.html
|
|
|
|
|
|
|
|
|
|
Alternatively, we can use a `void *` argument:
|
|
|
|
|
|
|
|
|
|
```c
|
|
|
|
|
void foo(void *arg);
|
|
|
|
|