impl EntryKind {
fn def_kind(&self) -> DefKind {
match *self {
+ EntryKind::AnonConst(..) => DefKind::AnonConst,
EntryKind::Const(..) => DefKind::Const,
EntryKind::AssocConst(..) => DefKind::AssocConst,
EntryKind::ImmStatic
fn mir_const_qualif(&self, id: DefIndex) -> mir::ConstQualifs {
match self.kind(id) {
- EntryKind::Const(qualif, _)
+ EntryKind::AnonConst(qualif, _)
+ | EntryKind::Const(qualif, _)
| EntryKind::AssocConst(
AssocContainer::ImplDefault
| AssocContainer::ImplFinal
fn get_rendered_const(&self, id: DefIndex) -> String {
match self.kind(id) {
- EntryKind::Const(_, data) | EntryKind::AssocConst(_, _, data) => data.decode(self).0,
+ EntryKind::AnonConst(_, data)
+ | EntryKind::Const(_, data)
+ | EntryKind::AssocConst(_, _, data) => data.decode(self).0,
_ => bug!(),
}
}
let const_data = self.encode_rendered_const_for_body(body_id);
let qualifs = self.tcx.mir_const_qualif(def_id);
- record!(self.tables.kind[def_id.to_def_id()] <- EntryKind::Const(qualifs, const_data));
+ record!(self.tables.kind[def_id.to_def_id()] <- EntryKind::AnonConst(qualifs, const_data));
record!(self.tables.visibility[def_id.to_def_id()] <- ty::Visibility::Public);
record!(self.tables.span[def_id.to_def_id()] <- self.tcx.def_span(def_id));
self.encode_item_type(def_id.to_def_id());
#[derive(Copy, Clone, RustcEncodable, RustcDecodable)]
enum EntryKind {
+ AnonConst(mir::ConstQualifs, Lazy<RenderedConst>),
Const(mir::ConstQualifs, Lazy<RenderedConst>),
ImmStatic,
MutStatic,
--- /dev/null
+// aux-build:impl-const.rs
+// run-pass
+
+#![feature(const_generics)]
+#![allow(incomplete_features)]
+
+extern crate impl_const;
+
+use impl_const::*;
+
+pub fn main() {
+ let n = Num::<5>;
+ n.five();
+}