1.27.0 stabilized hint::unreachable, allowing the previously
nightly-only API to be used on stable.
The version detection can still be overridden using `cfg`s
(or their related environment variables through cargo), and both
the nightly and spin_no_std features are preserved for compatibility.
The user-provided initialization expression was being evaluated in an
unsafe block, because it appeared as the argument of transmute. This
meant that 1) the user code could do unsafe operations without it being
marked by an unsafe block, and 2) writing an unsafe block in the user
code produced a warning. Now the user code is spliced into an inline
function defined above the unsafe block, and the function is called
inside the unsafe block.
sync::Once::doit() -> call_once()
phase/plugin is now just #[macro_use]
Added comment to tests to remind self that UNUSED should trigger dead
code warnings, because it's not clear where the dead code warnings come
from when running tests.
Deref is no longer in the prelude, so it had to be specified using its full
path (thanks to @pczarn for the syntax). Deref's type paramter was replaced
with an associated type, Target.
Replaced [Box<uint>, ..3] with [Box<uint>; 3] because the former syntax is gone.