diff options
| author | Oliver Schneider <git-spam-no-reply9815368754983@oli-obk.de> | 2015-12-16 18:44:15 +0100 |
|---|---|---|
| committer | Oliver Schneider <git-spam-no-reply9815368754983@oli-obk.de> | 2016-03-10 12:50:12 +0100 |
| commit | 7bde56e14941924c17daeaa1996d61d0ffdb6bd1 (patch) | |
| tree | e7690e75421bb80a98fe6f2e8968680f0fca8914 /src/librustc_metadata/decoder.rs | |
| parent | 3ac4076ac0e4276dce59cd254dfa2c5cf848dca8 (diff) | |
| download | rust-7bde56e14941924c17daeaa1996d61d0ffdb6bd1.tar.gz rust-7bde56e14941924c17daeaa1996d61d0ffdb6bd1.zip | |
typestrong constant integers
Diffstat (limited to 'src/librustc_metadata/decoder.rs')
| -rw-r--r-- | src/librustc_metadata/decoder.rs | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/librustc_metadata/decoder.rs b/src/librustc_metadata/decoder.rs index 06f81a17a06..dfc794dc5b8 100644 --- a/src/librustc_metadata/decoder.rs +++ b/src/librustc_metadata/decoder.rs @@ -35,6 +35,8 @@ use middle::subst; use middle::ty::{ImplContainer, TraitContainer}; use middle::ty::{self, Ty, TyCtxt, TypeFoldable, VariantKind}; +use rustc_const_eval::ConstInt; + use rustc::mir; use rustc::mir::visit::MutVisitor; @@ -198,7 +200,7 @@ fn reexports<'a>(d: rbml::Doc<'a>) -> reader::TaggedDocsIterator<'a> { reader::tagged_docs(d, tag_items_data_item_reexport) } -fn variant_disr_val(d: rbml::Doc) -> Option<ty::Disr> { +fn variant_disr_val(d: rbml::Doc) -> Option<u64> { reader::maybe_get_doc(d, tag_disr_val).and_then(|val_doc| { reader::with_doc_data(val_doc, |data| { str::from_utf8(data).ok().and_then(|s| s.parse().ok()) @@ -396,7 +398,7 @@ pub fn get_adt_def<'tcx>(intr: &IdentInterner, did: did, name: item_name(intr, item), fields: get_variant_fields(intr, cdata, item, tcx), - disr_val: disr, + disr_val: ConstInt::Infer(disr), kind: expect_variant_kind(item_family(item), tcx), } }).collect() @@ -432,7 +434,7 @@ pub fn get_adt_def<'tcx>(intr: &IdentInterner, did: did, name: item_name(intr, doc), fields: get_variant_fields(intr, cdata, doc, tcx), - disr_val: 0, + disr_val: ConstInt::Infer(0), kind: expect_variant_kind(item_family(doc), tcx), } } |
