about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJonas Schievink <jonasschievink@gmail.com>2021-05-23 16:28:23 +0200
committerJonas Schievink <jonasschievink@gmail.com>2021-05-23 16:28:23 +0200
commit11825ac5fee8616ea7de2c80b5298978e7906bf1 (patch)
treeb21ff5fa69a61dcb16868bb21457a7b4117c22fb
parent064ff633f6055ed35022222c89af01d3f9943e3c (diff)
Explain why nested `TypeRef` aren't interned
-rw-r--r--crates/hir_def/src/type_ref.rs4
1 files changed, 4 insertions, 0 deletions
diff --git a/crates/hir_def/src/type_ref.rs b/crates/hir_def/src/type_ref.rs
index 9e44547cb03..cdcab71102d 100644
--- a/crates/hir_def/src/type_ref.rs
+++ b/crates/hir_def/src/type_ref.rs
@@ -72,6 +72,10 @@ impl TraitRef {
 }
 
 /// Compare ty::Ty
+///
+/// Note: Most users of `TypeRef` that end up in the salsa database intern it using
+/// `Interned<TypeRef>` to save space. But notably, nested `TypeRef`s are not interned, since that
+/// does not seem to save any noticeable amount of memory.
 #[derive(Clone, PartialEq, Eq, Hash, Debug)]
 pub enum TypeRef {
     Never,