Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Internal crate of godot-rust
Do not depend on this crate directly, instead use the godot
crate.
No SemVer or other guarantees are provided.
Contributor docs
A re-entrant cell implementation which allows for &mut
references to be reborrowed even while &mut
references still exist.
This is done by ensuring any existing &mut
references cannot alias the new reference, and that the new
reference is derived from the previous one.
This emulates rust's system for function calls. i.e my_func(&mut borrowed)
creates a second &mut
reference inside the function.
Instead of directly using the concept of aliasing
pointers, we use the term accessible
instead. A
reference (or other pointer) to some value is considered accessible when it is possible to either read
from or write to the value it points to without using unsafe
. Importantly, if we know that a reference
a
is inaccessible, and then we create a new reference b
derived from a
to the same value, then we
know for sure that b
won't alias a
. This is because aliasing in rust is based on accesses, and if we
never access a
then we cannot ever violate aliasing for a
and b
. And since b
is derived from a
(that is, b
was created from a
somehow such as by casting a
to a raw pointer then to a reference
b
), then a
won't get invalidated by accesses to b
.