about summary refs log tree commit diff
path: root/src/librustc_macros
AgeCommit message (Collapse)AuthorLines
2020-07-16Enforce the static symbol order.Nicholas Nethercote-5/+24
By making the proc macro abort if any symbols are out of order. The commit also changes the proc macro collect multiple errors (of order or duplicated symbols) and prints them at the end, which is useful if you have multiple errors.
2020-06-10Use min_specialization in the remaining rustc cratesMatthew Jasper-2/+2
2020-05-31Add descriptions for all queriesMatthew Jasper-29/+28
2020-05-01Monomorphise load_from_disk_and_cache_in_memory.Camille GILLOT-2/+2
2020-04-28Fix unused parentheses warning.Camille GILLOT-1/+3
2020-04-01Rollup merge of #70081 - lcnr:issue68387, r=varkorDylan DPC-1/+3
add `unused_braces` lint Add the lint `unused_braces` which is warn by default. `unused_parens` is also extended and now checks anon consts. closes #68387 r? @varkor
2020-03-31fix internal lint falloutBastian Kauschke-1/+3
2020-03-30rustc -> rustc_middle part 2Mazdak Farrokhzad-12/+12
2020-03-27Remove the QueryGetter trait.Camille GILLOT-1/+2
2020-03-26Make QueryDescription parameter a type.Camille GILLOT-2/+2
2020-03-23Fully qualify the path to DepKind.Camille GILLOT-3/+3
This is needed since `middle::cstore` defines another type named `DepKind`, and we should not rely on shadowing to get the right one.
2020-03-23Fallout in other crates.Camille GILLOT-4/+4
2020-03-10Auto merge of #66364 - Centril:cleanup-macro-def, r=petrochenkov,eddybbors-0/+4
Cleanup `rmeta::MacroDef` Avoid using rountrip parsing in the encoder and in `fn load_macro_untracked`. The main reason I was interested in this was to remove `rustc_parse` as a dependency of `rustc_metadata` but it seems like this had other benefits as well. Fixes #49511. r? @eddyb cc @matthewjasper @estebank @petrochenkov
2020-03-10Store `TokenStream` in `rmeta::MacroDef`.Mazdak Farrokhzad-0/+4
This removes a hack from `load_macro_untracked` in which parsing is used.
2020-03-09Remove the `no_force` query attributeJohn Kåre Alsaker-16/+0
2020-03-09Remove the need for `no_force`John Kåre Alsaker-36/+21
2020-03-06fix various typosMatthias Krüger-2/+2
2020-02-24librustc_macros: remove redundant single component path importMatthias Krüger-1/+0
2020-02-19Add a `storage` query modifier to override the query cacheJohn Kåre Alsaker-0/+21
2020-02-11remove some dependencies on itertoolsAndreas Jonson-6/+1
2020-02-04Rollup merge of #68815 - matthiaskrgr:redundant_imports, r=alexcrichtonDylan DPC-6/+0
remove redundant imports (clippy::single_component_path_imports)
2020-02-04Drop unused extern cratesMark Rousskov-2/+0
2020-02-04remove redundant imports (clippy::single_component_path_imports)Matthias Krüger-6/+0
2019-12-22Format the worldMark Rousskov-120/+112
2019-11-23Rename StableHashingContextLike to HashStableContext.Camille GILLOT-1/+1
2019-11-22Add StableHashingContextLike to HashStable_Generic derive.Camille GILLOT-0/+1
2019-11-22Auto merge of #66460 - cjgillot:hashstable_generic, r=Zoxcbors-0/+43
Add a proc-macro to derive HashStable in librustc dependencies A second proc-macro is added to derive HashStable for crates librustc depends on. This proc-macro HashStable_Generic (to bikeshed) allows to decouple code and some librustc's boilerplate. Not everything is migrated, because `Span` and `TokenKind` require to be placed inside librustc. Types using them stay there too. Split out of #66279 r? @Zoxc
2019-11-18Rename generated lifetime.Camille GILLOT-5/+5
2019-11-18Create derive proc-macro for Lift trait.Camille GILLOT-0/+52
2019-11-17Create a generic HashStable derive.Camille GILLOT-0/+43
2019-11-13Create TypeFoldable derive proc-macro.Camille GILLOT-0/+41
2019-10-08Rollup merge of #65176 - nnethercote:rm-query-macros, r=michaelwoeristerMazdak Farrokhzad-1/+5
Remove query-related macros The query system has a few macros that only have one or two call sites, and I find they hurt readability. This PR removes them. r? @michaelwoerister
2019-10-07Remove `force_ex!`.Nicholas Nethercote-1/+5
2019-10-04Upgrade librustc_macros dependenciesMateusz Mikuła-8/+8
2019-09-30Stabilize proc macros in type positionsVadim Petrochenkov-1/+0
2019-09-28Switch over all StableHash impls to new formatMark Rousskov-2/+2
2019-09-27Remove global_tcx from TyCtxtMark Rousskov-2/+2
The non-global context was removed; there's only one context now. This is a noop method that only serves to confuse readers -- remove it.
2019-08-14Handle cfg(bootstrap) throughoutMark Rousskov-1/+1
2019-07-28Remove lint annotations in specific crates that are already enforced by ↵Vadim Petrochenkov-1/+0
rustbuild Remove some random unnecessary lint `allow`s
2019-07-05Rollup merge of #61545 - flip1995:internal_lints, r=oli-obkMazdak Farrokhzad-0/+1
Implement another internal lints cc #49509 This adds ~~two~~ one internal lint~~s~~: 1. LINT_PASS_IMPL_WITHOUT_MACRO: Make sure, that the `{declare,impl}_lint_pass` macro is used to implement lint passes. cc #59669 2. ~~USAGE_OF_TYCTXT_AND_SPAN_ARGS: item 2 on the list in #49509~~ ~~With 2. I wasn't sure, if this lint should be applied everywhere. That means a careful review of 0955835 would be great. Also 73fb9b4 allows this lint on some functions. Should I also apply this lint there?~~ TODO (not directly relevant for review): - [ ] https://github.com/rust-lang/rust/pull/59316#discussion_r280186517 (not sure yet, if this works or how to query for `rustc_private`, since it's not in [`Features`](https://doc.rust-lang.org/nightly/nightly-rustc/syntax/feature_gate/struct.Features.html) :thinking: cc @eddyb) - [x] https://github.com/rust-lang/rust/pull/61735#discussion_r292389870 - [x] Check explicitly for the `{declare,impl}_lint_pass!` macros r? @oli-obk
2019-07-02Derive which queries to save using the proc macroJohn Kåre Alsaker-0/+13
2019-06-30Clean up query cache codeJohn Kåre Alsaker-20/+74
2019-06-25Inform the query system about properties of queries at compile timeJohn Kåre Alsaker-14/+6
2019-06-24Turn internal lints into tool lintsflip1995-1/+1
2019-06-24Allow default_hash_types in some cratesflip1995-0/+1
2019-06-14Unify all uses of 'gcx and 'tcx.Eduard-Mihai Burtescu-4/+4
2019-06-12Run `rustfmt --file-lines ...` for changes from previous commits.Eduard-Mihai Burtescu-1/+1
2019-06-12rustc: replace `TyCtxt<'tcx, 'gcx, 'tcx>` with `TyCtxt<'gcx, 'tcx>`.Eduard-Mihai Burtescu-4/+4
2019-06-12rustc: replace `TyCtxt<'a, 'gcx, 'tcx>` with `TyCtxt<'tcx, 'gcx, 'tcx>`.Eduard-Mihai Burtescu-3/+3
2019-05-29Rollup merge of #60885 - euclio:strip-synstructure-consts, r=GuillaumeGomezOliver Scherer-1/+1
strip synstructure consts from compiler docs Fixes #60150. Unfortunately this PR depends on the use of the deprecated `--passes` flag in bootstrap to keep the `--strip-hidden` pass while still documenting private items. I've opened #60884 to track stabilization of a new flag that encapsulates this behavior. r? @QuietMisdreavus