about summary refs log tree commit diff
diff options
context:
space:
mode:
authorAdam Perry <adam.n.perry@gmail.com>2019-10-10 07:25:54 -0700
committerAdam Perry <adam.n.perry@gmail.com>2019-10-10 07:25:54 -0700
commit1cdd5d099d3a8da42db6fbd259d3f757bccb961f (patch)
tree83f009b7fb07ee201a440cd590be2cdb9c63bc50
parentea3ecf22ae911b7e32b889b636bce86c165908c4 (diff)
Improve docs for InstanceDef::ReifyShim.
-rw-r--r--src/librustc/ty/instance.rs5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/librustc/ty/instance.rs b/src/librustc/ty/instance.rs
index 2b9d09b20cc..b35b577ddf7 100644
--- a/src/librustc/ty/instance.rs
+++ b/src/librustc/ty/instance.rs
@@ -28,7 +28,10 @@ pub enum InstanceDef<'tcx> {
 
     /// `fn()` pointer where the function itself cannot be turned into a pointer.
     ///
-    /// One example in the compiler today is functions annotated with `#[track_caller]`.
+    /// One example in the compiler today is functions annotated with `#[track_caller]`, which
+    /// must have their implicit caller location argument populated for a call. Because this is a
+    /// required part of the function's ABI but can't be tracked as a property of the function
+    /// pointer, we create a single "caller location" at the site where the function is reified.
     ReifyShim(DefId),
 
     /// `<fn() as FnTrait>::call_*`