about summary refs log tree commit diff
path: root/src/libproc_macro/lib.rs
AgeCommit message (Collapse)AuthorLines
2020-07-27mv std libs to library/mark-1183/+0
2020-07-26proc_macro: Add API for tracked access to environment variablesVadim Petrochenkov-0/+21
2020-07-15Introduce restricted-std feature.Eric Huss-0/+1
2020-05-21Impl Ord for proc_macro::LineColumnDavid Tolnay-0/+15
2020-05-17Rollup merge of #72233 - dtolnay:literal, r=petrochenkovDylan DPC-1/+0
Fix {:#?} representation of proc_macro::Literal Before: ```rust TokenStream [ Ident { ident: "name", span: #0 bytes(37..41), }, Punct { ch: '=', spacing: Alone, span: #0 bytes(42..43), }, Literal { lit: Lit { kind: Str, symbol: "SNPP", suffix: None }, span: Span { lo: BytePos(44), hi: BytePos(50), ctxt: #0 } }, Punct { ch: ',', spacing: Alone, span: #0 bytes(50..51), }, Ident { ident: "owner", span: #0 bytes(56..61), }, Punct { ch: '=', spacing: Alone, span: #0 bytes(62..63), }, Literal { lit: Lit { kind: Str, symbol: "Canary M Burns", suffix: None }, span: Span { lo: BytePos(64), hi: BytePos(80), ctxt: #0 } }, ] ``` After: ```rust TokenStream [ Ident { ident: "name", span: #0 bytes(37..41), }, Punct { ch: '=', spacing: Alone, span: #0 bytes(42..43), }, Literal { kind: Str, symbol: "SNPP", suffix: None, span: #0 bytes(44..50), }, Punct { ch: ',', spacing: Alone, span: #0 bytes(50..51), }, Ident { ident: "owner", span: #0 bytes(56..61), }, Punct { ch: '=', spacing: Alone, span: #0 bytes(62..63), }, Literal { kind: Str, symbol: "Canary M Burns", suffix: None, span: #0 bytes(64..80), }, ] ```
2020-05-15Implement Default for proc_macro::TokenStreamDavid Tolnay-0/+7
2020-05-15Fix {:#?} representation of proc_macro::LiteralDavid Tolnay-1/+0
Before: TokenStream [ Ident { ident: "name", span: #0 bytes(37..41), }, Punct { ch: '=', spacing: Alone, span: #0 bytes(42..43), }, Literal { lit: Lit { kind: Str, symbol: "SNPP", suffix: None }, span: Span { lo: BytePos(44), hi: BytePos(50), ctxt: #0 } }, Punct { ch: ',', spacing: Alone, span: #0 bytes(50..51), }, Ident { ident: "owner", span: #0 bytes(56..61), }, Punct { ch: '=', spacing: Alone, span: #0 bytes(62..63), }, Literal { lit: Lit { kind: Str, symbol: "Canary M Burns", suffix: None }, span: Span { lo: BytePos(64), hi: BytePos(80), ctxt: #0 } }, ] After: TokenStream [ Ident { ident: "name", span: #0 bytes(37..41), }, Punct { ch: '=', spacing: Alone, span: #0 bytes(42..43), }, Literal { kind: Str, symbol: "SNPP", suffix: None, span: #0 bytes(44..50), }, Punct { ch: ',', spacing: Alone, span: #0 bytes(50..51), }, Ident { ident: "owner", span: #0 bytes(56..61), }, Punct { ch: '=', spacing: Alone, span: #0 bytes(62..63), }, Literal { kind: Str, symbol: "Canary M Burns", suffix: None, span: #0 bytes(64..80), }, ]
2020-04-27Rollup merge of #68716 - petrochenkov:stabmixed, r=dtolnayDylan DPC-1/+1
Stabilize `Span::mixed_site` Closes https://github.com/rust-lang/rust/issues/65049. cc https://github.com/rust-lang/rust/issues/54727#issuecomment-580647446 Pre-requisite for https://github.com/rust-lang/rust/pull/68717 ("Stabilize fn-like proc macros in expression, pattern and statement positions"). Stabilization report: https://github.com/rust-lang/rust/pull/68716#issuecomment-581076337.
2020-04-26Stabilize `Span::mixed_site`Vadim Petrochenkov-1/+1
2020-04-26proc_macro: Fix since attributes for new Span methodsJonas Platte-2/+2
2020-04-25Auto merge of #71556 - Dylan-DPC:rollup-9ll4shr, r=Dylan-DPCbors-2/+2
Rollup of 7 pull requests Successful merges: - #69041 (proc_macro: Stabilize `Span::resolved_at` and `Span::located_at`) - #69813 (Implement BitOr and BitOrAssign for the NonZero integer types) - #70712 (stabilize BTreeMap::remove_entry) - #71168 (Deprecate `{Box,Rc,Arc}::into_raw_non_null`) - #71544 (Replace filter_map().next() calls with find_map()) - #71545 (Fix comment in docstring example for Error::kind) - #71548 (Add missing Send and Sync impls for linked list Cursor and CursorMut.) Failed merges: r? @ghost
2020-04-25Bump rustfmt to most recently shippedMark Rousskov-2/+2
2020-04-25Bump bootstrap compilerMark Rousskov-3/+2
2020-04-25proc_macro: Stabilize `Span::resolved_at` and `Span::located_at`Vadim Petrochenkov-2/+2
2020-04-22Add tracking issue for proc_macro_is_availableDavid Tolnay-1/+1
2020-04-21proc_macro::is_available()David Tolnay-0/+18
2020-03-26introduce `negative_impls` feature gate and documentNiko Matsakis-0/+1
They used to be covered by `optin_builtin_traits` but negative impls are now applicable to all traits, not just auto traits. This also adds docs in the unstable book for the current state of auto traits.
2020-03-15Use min_specialization in libstd and libproc_macroMatthew Jasper-1/+2
2020-03-11Give LexError more descriptive Display implKinsey Favre-1/+1
2020-03-11Correct stability attribute for new LexError implsKinsey Favre-2/+2
2020-03-11Add Display and Error impls for proc_macro::LexErrorKinsey Favre-1/+11
This should allow LexError to play much nicer with the `?` operator.
2020-01-10Remove unnecessary `const_fn` feature gatesDylan MacKenzie-1/+0
This flag opts out of the min-const-fn checks entirely, which is usually not what we want. The few cases where the flag is still necessary have been annotated.
2019-12-22Format the worldMark Rousskov-36/+22
2019-11-12Snap cfgsMark Rousskov-1/+0
2019-10-25RFC 2008: StabilizationDavid Wood-1/+1
This commit stabilizes RFC 2008 (#44109) by removing the feature gate. Signed-off-by: David Wood <david@davidtw.co>
2019-10-08Stabilize mem::take (mem_take)Jon Gjengset-1/+0
Tracking issue: https://github.com/rust-lang/rust/issues/61129
2019-10-03proc_macro: Add `Span::mixed_site` exposing `macro_rules` hygieneVadim Petrochenkov-0/+9
2019-09-25Snap cfgs to new betaMark Rousskov-1/+1
2019-08-27proc_macro: Turn `quote` into a regular built-in macroVadim Petrochenkov-4/+6
Previously in was implemented using a special hack in the metadata loader
2019-07-28Remove lint annotations in specific crates that are already enforced by ↵Vadim Petrochenkov-2/+0
rustbuild Remove some random unnecessary lint `allow`s
2019-07-01Enable mem_take feature in relevant cratesChris Gregory-0/+1
2019-04-05Use for_each to extend collectionsJosh Stone-3/+1
This updates the `Extend` implementations to use `for_each` for many collections: `BinaryHeap`, `BTreeMap`, `BTreeSet`, `LinkedList`, `Path`, `TokenStream`, `VecDeque`, and `Wtf8Buf`. Folding with `for_each` enables better performance than a `for`-loop for some iterators, especially if they can just forward to internal iterators, like `Chain` and `FlatMap` do.
2019-03-27Auto merge of #55780 - ogoffart:span_source_text, r=petrochenkovbors-0/+12
Introduce proc_macro::Span::source_text A function to extract the actual source behind a Span. Background: I would like to use `syn` in a `build.rs` script to parse the rust code, and extract part of the source code. However, `syn` only gives access to proc_macro2::Span, and i would like to get the source code behind that. I opened an issue on proc_macro2 bug tracker for this feature https://github.com/alexcrichton/proc-macro2/issues/110 and @alexcrichton said the feature should first go upstream in proc_macro. So there it is! Since most of the Span API is unstable anyway, this is guarded by the same `proc_macro_span` feature as everything else.
2019-02-14Rollup merge of #57856 - lzutao:fix-old-first-edition, r=steveklabnikMazdak Farrokhzad-1/+3
Convert old first edition links to current edition one r? @steveklabnik
2019-02-13Convert old doc links to current editionLzu Tao-1/+3
Use footnote style to bypass the tidy check
2019-02-12Auto merge of #58341 - alexreg:cosmetic-2-doc-comments, r=steveklabnikbors-6/+6
Cosmetic improvements to doc comments This has been factored out from https://github.com/rust-lang/rust/pull/58036 to only include changes to documentation comments (throughout the rustc codebase). r? @steveklabnik Once you're happy with this, maybe we could get it through with r=1, so it doesn't constantly get invalidated? (I'm not sure this will be an issue, but just in case...) Anyway, thanks for your advice so far!
2019-02-10tests: doc commentsAlexander Regueiro-6/+6
2019-02-10Revert removed #![feature(nll)]Taiki Endo-0/+1
2019-02-07Remove images' url to make it work even without internet connectionGuillaume Gomez-3/+1
2019-02-04libproc_macro => 2018Taiki Endo-16/+17
2018-12-25Remove licensesMark Rousskov-10/+0
2018-12-19proc_macro: Validate tokens coming from the compiler againVadim Petrochenkov-21/+0
2018-12-07Various minor/cosmetic improvements to codeAlexander Regueiro-10/+10
2018-12-01Introduce proc_macro::Span::source_textOlivier Goffart-0/+12
2018-11-30proc_macro: move the rustc server to syntax_ext.Eduard-Mihai Burtescu-10/+0
2018-11-30proc_macro: remove the __internal module.Eduard-Mihai Burtescu-98/+0
2018-11-30proc_macro: introduce a "bridge" between clients (proc macros) and servers ↵Eduard-Mihai Burtescu-293/+170
(compiler front-ends).
2018-11-20Add unstable Literal::subspan().Sergio Benitez-1/+46
2018-11-13fix various typos in doc commentsAndy Russell-6/+6
2018-10-01All `proc_macro_span` APIs tracked at #54725 nowAlex Crichton-24/+24