rust/src/libsyntax
Felix S. Klock II 1829fa5199 Hack for "unsafety hygiene" -- push_unsafe! and pop_unsafe!.
Even after expansion, the generated expressions still track depth of
such pushes (i.e. how often you have "pushed" without a corresponding
"pop"), and we add a rule that in a context with a positive
`push_unsafe!` depth, it is effectively an `unsafe` block context.

(This way, we can inject code that uses `unsafe` features, but still
contains within it a sub-expression that should inherit the outer
safety checking setting, outside of the injected code.)

This is a total hack; it not only needs a feature-gate, but probably
should be feature-gated forever (if possible).

ignore-pretty in test/run-pass/pushpop-unsafe-okay.rs
2015-07-22 15:33:59 +02:00
..
diagnostics Improve register_long_diagnostics macro 2015-07-17 11:21:05 +02:00
ext Hack for "unsafety hygiene" -- push_unsafe! and pop_unsafe!. 2015-07-22 15:33:59 +02:00
parse Use a span from the correct file for the inner span of a module 2015-07-21 21:55:19 +12:00
print Hack for "unsafety hygiene" -- push_unsafe! and pop_unsafe!. 2015-07-22 15:33:59 +02:00
util syntax: replace sess.span_diagnostic.cm with sess.codemap(). 2015-05-14 01:47:56 +03:00
abi.rs Add netbsd amd64 support 2015-07-01 19:09:14 -07:00
ast.rs Hack for "unsafety hygiene" -- push_unsafe! and pop_unsafe!. 2015-07-22 15:33:59 +02:00
ast_util.rs Change some instances of .connect() to .join() 2015-07-10 19:40:46 -04:00
attr.rs Auto merge of #26747 - huonw:stability-issue, r=alexcrichton 2015-07-07 17:41:43 +00:00
codemap.rs Use a span from the correct file for the inner span of a module 2015-07-21 21:55:19 +12:00
config.rs syntax: Remove uses of #[feature(slice_patterns)] 2015-04-21 10:08:26 -07:00
diagnostic.rs Auto merge of #26816 - nrc:zero-codemap, r=@jroesch 2015-07-21 09:59:18 +00:00
feature_gate.rs Hack for "unsafety hygiene" -- push_unsafe! and pop_unsafe!. 2015-07-22 15:33:59 +02:00
fold.rs Removed many pointless calls to *iter() and iter_mut() 2015-06-10 21:14:03 +01:00
lib.rs Hack for "unsafety hygiene" -- push_unsafe! and pop_unsafe!. 2015-07-22 15:33:59 +02:00
owned_slice.rs Switched to Box::new in many places. 2015-03-03 21:05:55 +01:00
ptr.rs syntax: remove #![feature(box_syntax, box_patterns)] 2015-04-21 10:07:48 -07:00
show_span.rs std: Stabilize FromStr and parse 2015-01-30 08:52:44 -08:00
std_inject.rs Feature-gate #[prelude_import]. 2015-07-05 22:35:20 +03:00
str.rs syntax: Copy unstable str::char_at into libsyntax 2015-04-21 10:23:53 -07:00
test.rs Removed many pointless calls to *iter() and iter_mut() 2015-06-10 21:14:03 +01:00
visit.rs Fix issue #23302, ICE on recursively defined enum variant discriminant. 2015-06-22 20:55:57 -06:00