rust/src/libstd/comm
bors c6aaf2c7bd auto merge of #12419 : huonw/rust/compiler-unsafe, r=alexcrichton
Previously an `unsafe` block created by the compiler (like those in the
formatting macros) would be "ignored" if surrounded by `unsafe`, that
is, the internal unsafety would be being legitimised by the external
block:

    unsafe { println!("...") } =(expansion)=> unsafe { ... unsafe { ... } }

And the code in the inner block would be using the outer block, making
it considered used (and the inner one considered unused).

This patch forces the compiler to create a new unsafe context for
compiler generated blocks, so that their internal unsafety doesn't
escape to external blocks.

Fixes #12418.
2014-02-21 07:06:51 -08:00
..
mod.rs Fix sending/try_recv on channels off the runtime 2014-02-19 16:53:00 -08:00
oneshot.rs Test fixes and rebase conflicts 2014-02-11 19:58:44 -08:00
select.rs Spellcheck library docs. 2014-02-18 08:05:35 +11:00
shared.rs rustc: avoid compiler generated unsafe blocks leaking. 2014-02-20 23:29:57 +11:00
stream.rs rustc: avoid compiler generated unsafe blocks leaking. 2014-02-20 23:29:57 +11:00