rust/src/test/run-pass-fulldeps
bors 3a5d975fdc Auto merge of #36154 - nrc:proc-macro-init, r=@jseyfried
Adds a `ProcMacro` form of syntax extension

This commit adds syntax extension forms matching the types for procedural macros 2.0 (RFC #1566), these still require the usual syntax extension boiler plate, but this is a first step towards proper implementation and should be useful for macros 1.1 stuff too.

Supports both attribute-like and function-like macros.

Note that RFC #1566 has not been accepted yet, but I think there is consensus that we want to head in vaguely that direction and so this PR will be useful in any case. It is also fairly easy to undo and does not break any existing programs.

This is related to #35957 in that I hope it can be used in the implementation of macros 1.1, however, there is no direct overlap and is more of a complement than a competing proposal. There is still a fair bit of work to do before the two can be combined.

r? @jseyfried

cc @alexcrichton, @cgswords, @eddyb, @aturon
2016-09-22 16:33:41 -07:00
..
auxiliary Adds a ProcMacro form of syntax extension 2016-09-22 08:47:57 +12:00
rustc-macro rustc: Implement custom derive (macros 1.1) 2016-09-02 12:52:56 -07:00
ast_stmt_expr_attr.rs Generalize and abstract ThinAttributes 2016-06-19 00:01:55 +00:00
compiler-calls.rs Remove the 'cfg' field from session::config::Options. 2016-08-11 09:56:00 -04:00
conditional-debug-macro-off.rs mk: Distribute fewer TARGET_CRATES 2016-03-07 13:05:12 -08:00
create-dir-all-bare.rs Ignore cross-compilation in some fulldeps tests. 2015-04-22 20:32:14 -07:00
custom-derive-partial-eq.rs Add regression test. 2016-09-07 07:38:29 +00:00
deprecated-derive.rs Fix compiletest so it respects warnings for run-pass. 2016-08-22 16:51:37 -07:00
derive-totalsum-attr.rs Add test for custom deriving plugins which rely on field attributes 2015-05-01 15:49:05 +05:30
derive-totalsum.rs Make #[derive(Anything)] into sugar for #[derive_Anything] 2015-03-06 18:20:16 -08:00
deriving-encodable-decodable-box.rs mk: Distribute fewer TARGET_CRATES 2016-03-07 13:05:12 -08:00
deriving-encodable-decodable-cell-refcell.rs mk: Distribute fewer TARGET_CRATES 2016-03-07 13:05:12 -08:00
deriving-global.rs mk: Distribute fewer TARGET_CRATES 2016-03-07 13:05:12 -08:00
dropck_tarena_sound_drop.rs mk: Distribute fewer TARGET_CRATES 2016-03-07 13:05:12 -08:00
empty-struct-braces-derive.rs Fix #[derive] for empty tuple structs/variants 2016-08-18 01:07:32 +03:00
extern-mod-syntax.rs mk: Distribute fewer TARGET_CRATES 2016-03-07 13:05:12 -08:00
issue-2804.rs mk: Distribute fewer TARGET_CRATES 2016-03-07 13:05:12 -08:00
issue-4016.rs mk: Distribute fewer TARGET_CRATES 2016-03-07 13:05:12 -08:00
issue-4036.rs mk: Distribute fewer TARGET_CRATES 2016-03-07 13:05:12 -08:00
issue-11881.rs rustc_metadata: replace RBML with a simple and type-safe scheme. 2016-09-20 20:08:05 +03:00
issue-13560.rs Unignore some tests in stage1 2015-05-13 19:58:49 -04:00
issue-14021.rs mk: Distribute fewer TARGET_CRATES 2016-03-07 13:05:12 -08:00
issue-15149.rs Removed many pointless calls to *iter() and iter_mut() 2015-06-10 21:14:03 +01:00
issue-15778-pass.rs Add regression tests for #15778 2015-03-02 13:22:03 -08:00
issue-15924.rs mk: Distribute fewer TARGET_CRATES 2016-03-07 13:05:12 -08:00
issue-16822.rs rollup merge of #23786: alexcrichton/less-quotes 2015-03-27 16:10:25 -07:00
issue-16992.rs Ignore cross-compilation in some fulldeps tests. 2015-04-22 20:32:14 -07:00
issue-18502.rs Fix fallout of removing quotes in crate names 2015-03-27 11:43:40 -07:00
issue-18763-quote-token-tree.rs Ignore cross-compilation in some fulldeps tests. 2015-04-22 20:32:14 -07:00
issue-24972.rs mk: Distribute fewer TARGET_CRATES 2016-03-07 13:05:12 -08:00
issue_16723_multiple_items_syntax_ext.rs Auto merge of #21774 - ejjeong:enable-test-for-android, r=alexcrichton 2015-02-17 19:35:12 +00:00
linkage-visibility.rs [emscripten] Ignore tests 2016-08-10 16:38:31 +02:00
lint-group-plugin.rs Fix compiletest so it respects warnings for run-pass. 2016-08-22 16:51:37 -07:00
lint-plugin-cmdline-allow.rs Use a crate attribute to load plugins 2015-02-09 13:27:27 -08:00
lint-plugin-cmdline-load.rs Fix compiletest so it respects warnings for run-pass. 2016-08-22 16:51:37 -07:00
lint-plugin.rs Fix compiletest so it respects warnings for run-pass. 2016-08-22 16:51:37 -07:00
llvm-pass-plugin.rs Allow plugins to register LLVM passes 2015-04-08 14:01:59 -07:00
logging-enabled-debug.rs mk: Distribute fewer TARGET_CRATES 2016-03-07 13:05:12 -08:00
logging-enabled.rs [emscripten] Ignore tests 2016-08-10 16:38:31 +02:00
logging-right-crate.rs mk: Distribute fewer TARGET_CRATES 2016-03-07 13:05:12 -08:00
logging-separate-lines.rs [emscripten] Ignore tests 2016-08-10 16:38:31 +02:00
lto-syntax-extension.rs test: Fix lto-syntax-extension 2015-07-27 10:42:04 -07:00
macro-crate-does-hygiene-work.rs Use a crate attribute to load plugins 2015-02-09 13:27:27 -08:00
macro-crate-multi-decorator-literals.rs Implement RFC#1559: allow all literals in attributes. 2016-08-25 13:25:22 -07:00
macro-crate-multi-decorator.rs Get tests passing 2015-05-01 17:14:52 +12:00
macro-crate-outlive-expansion-phase.rs Use a crate attribute to load plugins 2015-02-09 13:27:27 -08:00
macro-crate.rs Add regression test 2016-07-05 05:59:46 +00:00
macro-quote-1.rs Proc_macro is alive 2016-08-16 13:17:36 -07:00
macro-quote-cond.rs Proc_macro is alive 2016-08-16 13:17:36 -07:00
macro-quote-noprelude.rs Proc_macro is alive 2016-08-16 13:17:36 -07:00
macro-quote-prelude.rs Proc_macro is alive 2016-08-16 13:17:36 -07:00
mbe_matching_test_macro.rs Add quasiquote for matchers and attributes 2015-03-04 16:13:37 +01:00
mir-pass.rs Disable old trans access via -Z orbit, #[rustc_no_mir] or --disable-orbit. 2016-08-24 13:23:37 +03:00
plugin-args-1.rs Use a crate attribute to load plugins 2015-02-09 13:27:27 -08:00
plugin-args-2.rs Use a crate attribute to load plugins 2015-02-09 13:27:27 -08:00
plugin-args-3.rs Use a crate attribute to load plugins 2015-02-09 13:27:27 -08:00
plugin-lib-ok-in-plugin.rs Warn when linking a plugin into a non-plugin crate 2015-02-12 12:44:31 -08:00
plugin-plus-extern-crate.rs Warn when linking a plugin into a non-plugin crate 2015-02-12 12:44:31 -08:00
proc_macro.rs Adds a ProcMacro form of syntax extension 2016-09-22 08:47:57 +12:00
qquote.rs Refactor ExtCtxt to use a Resolver instead of a MacroLoader. 2016-09-13 05:31:16 +00:00
quote-tokens.rs Refactored tokentrees into their own files in preparation for tokenstreams. Modified tests to point to the new file now. 2016-06-21 11:12:36 -07:00
quote-unused-sp-no-warning.rs Ensure that attributes are spelled properly. 2016-08-13 02:41:43 -07:00
regions-mock-tcx.rs mk: Distribute fewer TARGET_CRATES 2016-03-07 13:05:12 -08:00
rename-directory.rs std: Stabilize library APIs for 1.5 2015-10-25 09:36:32 -07:00
roman-numerals-macro.rs Use a crate attribute to load plugins 2015-02-09 13:27:27 -08:00
rust-log-filter.rs mk: Distribute fewer TARGET_CRATES 2016-03-07 13:05:12 -08:00
rustc_encodable_hygiene.rs prevent other encode methods from breaking derive(RustcEncodable) 2016-04-12 15:41:46 +02:00
syntax-extension-with-dll-deps.rs Require feature attributes, and add them where necessary 2015-03-23 14:40:26 -07:00