about summary refs log tree commit diff
path: root/compiler
diff options
context:
space:
mode:
authorCharles Lew <crlf0710@gmail.com>2021-07-22 23:29:53 +0800
committerCharles Lew <crlf0710@gmail.com>2021-07-22 23:29:53 +0800
commitfbb353ae2b5cef75c7d97be4f3c2283a63e0fd7f (patch)
treefe357bdf0779e8a52fbda6e862405dd667247e6a /compiler
parent634638782b23392c40eeea832bfa0d260ebe7a9f (diff)
downloadrust-fbb353ae2b5cef75c7d97be4f3c2283a63e0fd7f.tar.gz
rust-fbb353ae2b5cef75c7d97be4f3c2283a63e0fd7f.zip
Add comment and more tests.
Diffstat (limited to 'compiler')
-rw-r--r--compiler/rustc_middle/src/ty/vtable.rs6
1 files changed, 6 insertions, 0 deletions
diff --git a/compiler/rustc_middle/src/ty/vtable.rs b/compiler/rustc_middle/src/ty/vtable.rs
index cc3f6b3d6ec..5904f133e78 100644
--- a/compiler/rustc_middle/src/ty/vtable.rs
+++ b/compiler/rustc_middle/src/ty/vtable.rs
@@ -7,11 +7,17 @@ use rustc_ast::Mutability;
 
 #[derive(Clone, Copy, PartialEq, HashStable)]
 pub enum VtblEntry<'tcx> {
+    /// destructor of this type (used in vtable header)
     MetadataDropInPlace,
+    /// layout size of this type (used in vtable header)
     MetadataSize,
+    /// layout align of this type (used in vtable header)
     MetadataAlign,
+    /// non-dispatchable associated function that is excluded from trait object
     Vacant,
+    /// dispatchable associated function
     Method(Instance<'tcx>),
+    /// pointer to a separate supertrait vtable, can be used by trait upcasting coercion
     TraitVPtr(PolyTraitRef<'tcx>),
 }