about summary refs log tree commit diff
path: root/src/librustc_metadata/decoder.rs
AgeCommit message (Collapse)AuthorLines
2019-08-27Cleanup: Consistently use `Param` instead of `Arg` #62426Kevin Per-5/+5
2019-08-27metadata: Eliminate `FullProcMacro`Vadim Petrochenkov-35/+18
Fix caching of loaded proc macros
2019-08-27Respect attributes on proc macro definitionsVadim Petrochenkov-8/+10
2019-08-27resolve: Block expansion of a derive container until all its derives are ↵Vadim Petrochenkov-3/+1
resolved Also mark derive helpers as known as a part of the derive container's expansion instead of expansion of the derives themselves which may happen too late.
2019-08-22Resolve PR commentsWesley Wiser-2/+5
2019-08-22Fix tidyWesley Wiser-1/+2
2019-08-22Move promoted out of mir::BodyWesley Wiser-1/+9
2019-08-20rustc_metadata: replace LazySeq<T> with Lazy<[T]>.Eduard-Mihai Burtescu-16/+19
2019-08-18Auto merge of #63269 - Aaron1011:feature/proc-macro-data, r=eddyb,petrochenkovbors-71/+113
Serialize additional data for procedural macros Split off from #62855 This PR serializes the declaration `Span` and attributes for all procedural macros. This allows Rustdoc to properly render doc comments and source links when performing inlinig procedural macros across crates
2019-08-17Serialize additional data for procedural macrosAaron Hill-71/+113
Split off from #62855 This PR deerializes the declaration `Span` and attributes for all procedural macros from their underlying function definitions. This allows Rustdoc to properly render doc comments and source links when inlining procedural macros across crates
2019-08-17Remove unused `SyntaxContext` serialization implsMatthew Jasper-8/+0
The implementations were wrong and unused.
2019-08-17Stop emulating cross-crate hygiene with gensymsMatthew Jasper-0/+16
Most `Ident`s are serialized as `InternedString`s the exceptions are: * Reexports * Attributes * Idents in macro definitions Using gensyms helped reexports emulate hygiene. However, the actual item wouldn't have a gensymmed name so would be usable cross-crate. So removing this case until we have proper cross-crate hygiene seems sensible. Codegen attributes (`inline`, `export_name`) are resolved by their `Symbol`. This meant that opaque macro-expanded codegen attributes could cause linker errors. This prevented making built-in derives hygienic.
2019-08-15`Ident::with_empty_ctxt` -> `Ident::with_dummy_span`Vadim Petrochenkov-4/+4
`Ident` has had a full span rather than just a `SyntaxContext` for a long time now.
2019-08-15syntax_pos: `NO_EXPANSION`/`SyntaxContext::empty()` -> `SyntaxContext::root()`Vadim Petrochenkov-2/+2
For consistency with `ExpnId::root`. Also introduce a helper `Span::with_root_ctxt` for creating spans with `SyntaxContext::root()` context
2019-08-03Rollup merge of #63146 - Mark-Simulacrum:clean-attr, r=petrochenkovMazdak Farrokhzad-8/+1
Cleanup syntax::attr Mostly removing needless arguments to constructors r? @petrochenkov
2019-08-02Replace "existential" by "opaque"varkor-4/+4
2019-07-31Decode AttrId via mk_attr_idMark Rousskov-8/+1
2019-07-19libsyntax: Remove `Mark` into `ExpnId`Vadim Petrochenkov-2/+2
2019-06-19Rollup merge of #61898 - petrochenkov:sekind, r=eddybMazdak Farrokhzad-3/+4
syntax: Factor out common fields from `SyntaxExtension` variants And some other related cleanups. Continuation of https://github.com/rust-lang/rust/pull/61606. This will also help to unblock https://github.com/rust-lang/rust/pull/61877.
2019-06-18rustc: reintroduce lifetime bounds where necessary.Eduard-Mihai Burtescu-11/+9
2019-06-18rustc: remove 'x: 'y bounds (except from comments/strings).Eduard-Mihai Burtescu-3/+3
2019-06-18syntax: Factor out common fields from `SyntaxExtension` variantsVadim Petrochenkov-3/+4
2019-06-14Run `rustfmt --file-lines ...` for changes from previous commits.Eduard-Mihai Burtescu-15/+4
2019-06-14Unify all uses of 'gcx and 'tcx.Eduard-Mihai Burtescu-23/+23
2019-06-12Run `rustfmt --file-lines ...` for changes from previous commits.Eduard-Mihai Burtescu-47/+39
2019-06-12rustc: replace `TyCtxt<'tcx, 'gcx, 'tcx>` with `TyCtxt<'gcx, 'tcx>`.Eduard-Mihai Burtescu-23/+23
2019-06-12rustc: replace `TyCtxt<'a, 'gcx, 'tcx>` with `TyCtxt<'tcx, 'gcx, 'tcx>`.Eduard-Mihai Burtescu-17/+17
2019-06-06Make constructors actually be const functionsMatthew Jasper-0/+1
2019-05-28Changes the type `mir::Mir` into `mir::Body`Claude-Alban RANÉLY-VERGÉ-DÉPRÉ-2/+2
The commit should have changed comments as well. At the time of writting, it passes the tidy and check tool. Revisions asked by eddyb : - Renamed of all the occurences of {visit/super}_mir - Renamed test structures `CachedMir` to `Cached` Fixing the missing import on `AggregateKind`
2019-05-26Rename "Associated*" to "Assoc*"Andrew Xu-16/+16
We are going to uniform the terminology of all associated items. Methods that may or may not have `self` are called "associated functions". Because `AssociatedFn` is a bit long, we rename `Associated` to `Assoc`.
2019-05-23Update dylib_dependency_formats, extern_crate and reachable_non_genericsJohn Kåre Alsaker-4/+6
2019-05-23Update foreign_modules and dllimport_foreign_itemsJohn Kåre Alsaker-3/+6
2019-05-23Update get_lib_features, defined_lib_features, get_lang_items, ↵John Kåre Alsaker-14/+20
defined_lang_items, missing_lang_items, postorder_cnums and maybe_unused_extern_crates
2019-05-23Update implementations_of_trait and all_trait_implementationsJohn Kåre Alsaker-11/+14
2019-05-23Update inherent_implsJohn Kåre Alsaker-6/+9
2019-05-22rustc_metadata: rip out unused incremental infrastructure.Eduard-Mihai Burtescu-1/+1
2019-05-22rustc_metadata: parametrize schema::CrateRoot by 'tcx.Eduard-Mihai Burtescu-7/+4
2019-05-21Remove impls for `InternedString`/string equality.Nicholas Nethercote-6/+7
`Symbol` received the same treatment in #60630. Also, we can derive `PartialEq` for `InternedString`.
2019-05-18Declare DefIndex with the newtype_index macroFabian Drinck-1/+1
2019-05-13Pass a `Symbol` to `check_name`, `emit_feature_err`, and related functions.Nicholas Nethercote-2/+2
2019-05-09cleanup: Remove `DefIndexAddressSpace`Vadim Petrochenkov-4/+2
2019-05-04rustc: rename DefPathData::{MacroDef,LifetimeParam} to {Macro,Lifetime}Ns.Eduard-Mihai Burtescu-1/+1
2019-05-03rustc: rename hir::def::Def to Res (short for "resolution").Eduard-Mihai Burtescu-12/+12
2019-05-03rustc: use DefKind instead of Def, where possible.Eduard-Mihai Burtescu-36/+35
2019-05-03rustc: factor most DefId-containing variants out of Def and into DefKind.Eduard-Mihai Burtescu-29/+35
2019-04-21Remove mutability from `Def::Static`Vadim Petrochenkov-2/+2
2019-04-21Introduce query `static_mutability`Vadim Petrochenkov-0/+10
2019-04-14Rollup merge of #59936 - petrochenkov:confict, r=davidtwcoMazdak Farrokhzad-1/+12
Fix cross-crate visibility of fictive variant constructors After merging https://github.com/rust-lang/rust/pull/59376 I realized that the code in the decoder wasn't entirely correct - we "decoded" fictive variant constructors with their variant's visibility, which could be public, rather than demoted to `pub(crate)`. Fictive constructors are not directly usable in expression/patterns, but the effect still can be observed with imports. r? @davidtwco
2019-04-14Address review commentsVadim Petrochenkov-8/+10
2019-04-14Fix cross-crate visibility of fictive variant constructorsVadim Petrochenkov-1/+10