summary refs log tree commit diff
path: root/src/librustc_metadata/decoder.rs
AgeCommit message (Collapse)AuthorLines
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
2019-04-14HirIdify hir::Defljedrz-1/+1
2019-03-28Rollup merge of #58581 - varkor:const-generics-encoder-refactor, r=eddybMazdak Farrokhzad-0/+2
Refactor generic parameter encoder functions Addresses https://github.com/rust-lang/rust/pull/58503#discussion_r257488950. r? @eddyb
2019-03-24Re-order fields in `Def::Ctor`.David Wood-3/+2
This commit moves the `DefId` field of `Def::Ctor` to be the first field.
2019-03-24Move `CtorOf` into `hir::def`.David Wood-3/+3
This commit moves the definition of `CtorOf` from `rustc::hir` to `rustc::hir::def` and adds imports wherever it is used.
2019-03-24Revert changes to creation of fictive constructors for struct variantsVadim Petrochenkov-8/+10
2019-03-24Merge `DefPathData::VariantCtor` and `DefPathData::StructCtor`Vadim Petrochenkov-2/+2
2019-03-24Separate variant id and variant constructor id.David Wood-30/+38
This commit makes two changes - separating the `NodeId` that identifies an enum variant from the `NodeId` that identifies the variant's constructor; and no longer creating a `NodeId` for `Struct`-style enum variants and structs. Separation of the variant id and variant constructor id will allow the rest of RFC 2008 to be implemented by lowering the visibility of the variant's constructor without lowering the visbility of the variant itself. No longer creating a `NodeId` for `Struct`-style enum variants and structs mostly simplifies logic as previously this `NodeId` wasn't used. There were various cases where the `NodeId` wouldn't be used unless there was an unit or tuple struct or enum variant but not all uses of this `NodeId` had that condition, by removing this `NodeId`, this must be explicitly dealt with. This change mostly applied cleanly, but there were one or two cases in name resolution and one case in type check where the existing logic required a id for `Struct`-style enum variants and structs.
2019-03-17Do not complain about non-existing fields after parse recoveryEsteban Küber-1/+2
When failing to parse struct-like enum variants, the ADT gets recorded as having no fields. Record that we have actually recovered during parsing of this variant to avoid complaing about non-existing fields when actually using it.
2019-03-14Add `EntryKind::TypeParam` and `EntryKind::ConstParam`varkor-0/+2
2019-03-05Encode proc macro stabilityJohn Kåre Alsaker-1/+1
2019-02-10rustc: doc commentsAlexander Regueiro-1/+1
2019-02-08librustc_metadata => 2018Taiki Endo-3/+4
2019-01-22Fix some cross crate existential type ICEsOliver Scherer-0/+3
2019-01-10integrate trait aliases into def-paths / metadataNiko Matsakis-16/+30
Co-authored-by: Alexander Regueiro <alexreg@me.com>