about summary refs log tree commit diff
path: root/src/libproc_macro/lib.rs
AgeCommit message (Collapse)AuthorLines
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
2018-10-01Span::def_site() is now at #54724Alex Crichton-1/+1
2018-10-01The `proc_macro_raw_ident` feature is now at #54723Alex Crichton-1/+1
2018-10-01The `proc_macro_quote` feature now lives at #54722Alex Crichton-2/+2
2018-09-27Bump to 1.31.0 and bootstrap from 1.30 betaJosh Stone-1/+1
2018-09-19Make 'proc_macro::MultiSpan' public.Sergio Benitez-1/+1
2018-09-13Add multispan support to proc-macro diagnostics.Sergio Benitez-2/+2
Also updates the issue number for 'proc_macro_diagnostic'.
2018-09-12Auto merge of #53793 - toidiu:ak-stabalize, r=nikomatsakisbors-1/+0
stabilize outlives requirements https://github.com/rust-lang/rust/issues/44493 r? @nikomatsakis
2018-09-11stabalize infer outlives requirements (RFC 2093).toidiu-1/+0
Co-authored-by: nikomatsakis
2018-09-09Remove documentation about proc_macro being bare-bonesDavid Tolnay-7/+0
2018-09-08Track distinct spans for open and close delimiterDavid Tolnay-24/+10
2018-09-02proc_macro::Group::span_open and span_closeDavid Tolnay-1/+42
Before this addition, every delimited group like (...) [...] {...} has only a single Span that covers the full source location from opening delimiter to closing delimiter. This makes it impossible for a procedural macro to trigger an error pointing to just the opening or closing delimiter. The Rust compiler does not seem to have the same limitation: mod m { type T = } error: expected type, found `}` --> src/main.rs:3:1 | 3 | } | ^ On that same input, a procedural macro would be forced to trigger the error on the last token inside the block, on the entire block, or on the next token after the block, none of which is really what you want for an error like above. This commit adds group.span_open() and group.span_close() which access the Span associated with just the opening delimiter and just the closing delimiter of the group. Relevant to Syn as we implement real error messages for when parsing fails in a procedural macro.
2018-08-24check that adding infer-outlives requirement to all crates worksNiko Matsakis-0/+1
2018-08-21Rollup merge of #53496 - matthiaskrgr:codespell_08_2018, r=varkorkennytm-1/+1
Fix typos found by codespell.
2018-08-19fix tidy errorsDonato Sciarra-1/+1
2018-08-19mv codemap() source_map()Donato Sciarra-1/+1
2018-08-19mv filemap source_fileDonato Sciarra-4/+4