diff options
| author | bors <bors@rust-lang.org> | 2019-02-19 00:46:12 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2019-02-19 00:46:12 +0000 |
| commit | 32471f7ea4ca5a9218d86cf8b1d8f85919dc096b (patch) | |
| tree | 86f31bae8b69f77d189822f3e68c67c6eb6f54f8 /src/librustc_metadata | |
| parent | c61b92beaa544b4e24ea63380d2ef5c93ed8fc9c (diff) | |
| parent | 727e20410c61293f38b7f7984a469dc7daad632a (diff) | |
| download | rust-32471f7ea4ca5a9218d86cf8b1d8f85919dc096b.tar.gz rust-32471f7ea4ca5a9218d86cf8b1d8f85919dc096b.zip | |
Auto merge of #58503 - varkor:const-generics-hir, r=petrochenkov
Add const generics to the HIR Split out from https://github.com/rust-lang/rust/pull/53645. cc @yodaldevoid r? @eddyb
Diffstat (limited to 'src/librustc_metadata')
| -rw-r--r-- | src/librustc_metadata/encoder.rs | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/src/librustc_metadata/encoder.rs b/src/librustc_metadata/encoder.rs index 40d3ee9cc0b..776adc077fc 100644 --- a/src/librustc_metadata/encoder.rs +++ b/src/librustc_metadata/encoder.rs @@ -1331,6 +1331,29 @@ impl<'a, 'b: 'a, 'tcx: 'b> IsolatedEncoder<'a, 'b, 'tcx> { } } + fn encode_info_for_const_param(&mut self, def_id: DefId) -> Entry<'tcx> { + debug!("IsolatedEncoder::encode_info_for_const_param({:?})", def_id); + let tcx = self.tcx; + Entry { + kind: EntryKind::Type, + visibility: self.lazy(&ty::Visibility::Public), + span: self.lazy(&tcx.def_span(def_id)), + attributes: LazySeq::empty(), + children: LazySeq::empty(), + stability: None, + deprecation: None, + + ty: Some(self.encode_item_type(def_id)), + inherent_impls: LazySeq::empty(), + variances: LazySeq::empty(), + generics: None, + predicates: None, + predicates_defined_on: None, + + mir: None, + } + } + fn encode_info_for_closure(&mut self, def_id: DefId) -> Entry<'tcx> { debug!("IsolatedEncoder::encode_info_for_closure({:?})", def_id); let tcx = self.tcx; @@ -1684,6 +1707,11 @@ impl<'a, 'b, 'tcx> IndexBuilder<'a, 'b, 'tcx> { let encode_info = IsolatedEncoder::encode_info_for_ty_param; self.record(def_id, encode_info, (def_id, has_default)); } + hir::GenericParamKind::Const { .. } => { + let def_id = self.tcx.hir().local_def_id(param.id); + let encode_info = IsolatedEncoder::encode_info_for_const_param; + self.record(def_id, encode_info, def_id); + } } } } |
