rust/src/libsyntax
bors 9413a926fc Auto merge of #27215 - pnkfelix:fsk-placer-take-5-just-in, r=nikomatsakis
Macro desugaring of `in PLACE { BLOCK }` into "simpler" expressions following the in-development "Placer" protocol.

Includes Placer API that one can override to integrate support for `in` into one's own type.  (See [RFC 809].)

[RFC 809]: https://github.com/rust-lang/rfcs/blob/master/text/0809-box-and-in-for-stdlib.md

Part of #22181

Replaced PR #26180.

Turns on the `in PLACE { BLOCK }` syntax, while leaving in support for the old `box (PLACE) EXPR` syntax (since we need to support that at least until we have a snapshot with support for `in PLACE { BLOCK }`.

(Note that we are not 100% committed to the `in PLACE { BLOCK }` syntax.  In particular I still want to play around with some other alternatives.  Still, I want to get the fundamental framework for the protocol landed so we can play with implementing it for non `Box` types.)

----

Also, this PR leaves out support for desugaring-based `box EXPR`.  We will hopefully land that in the future, but for the short term there are type-inference issues injected by that change that we want to resolve separately.
2015-07-24 10:12:20 +00:00
..
diagnostics Improve register_long_diagnostics macro 2015-07-17 11:21:05 +02:00
ext review feedback: common-subexpression-elim across functions in pushpop_safe impl. 2015-07-23 23:39:28 +02:00
parse Auto merge of #27215 - pnkfelix:fsk-placer-take-5-just-in, r=nikomatsakis 2015-07-24 10:12:20 +00: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 Instrumentation in effort to understand treatment of allow_internal_unstable. 2015-07-22 15:34:00 +02: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 Add feature-gates for desugaring-based box and placement-in. 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