diff options
author | Aleksey Kladov <[email protected]> | 2021-03-31 11:24:08 +0100 |
---|---|---|
committer | Aleksey Kladov <[email protected]> | 2021-03-31 11:24:08 +0100 |
commit | 5c0c09c9c32231843b22a17a467c4170530bd220 (patch) | |
tree | b26851b7db13320bc78e48a354f6cb9d318d96ec | |
parent | 2436621b6c5e636fa112cd5abfdd03511c9561e0 (diff) |
internal: document semantics for missing names
-rw-r--r-- | crates/hir_expand/src/name.rs | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/crates/hir_expand/src/name.rs b/crates/hir_expand/src/name.rs index cd691b1d2..203ebbe85 100644 --- a/crates/hir_expand/src/name.rs +++ b/crates/hir_expand/src/name.rs | |||
@@ -55,6 +55,15 @@ impl Name { | |||
55 | } | 55 | } |
56 | } | 56 | } |
57 | 57 | ||
58 | /// A fake name for things missing in the source code. | ||
59 | /// | ||
60 | /// For example, `impl Foo for {}` should be treated as a trait impl for a | ||
61 | /// type with a missing name. Similarly, `struct S { : u32 }` should have a | ||
62 | /// single field with a missing name. | ||
63 | /// | ||
64 | /// Ideally, we want a `gensym` semantics for missing names -- each missing | ||
65 | /// name is equal only to itself. It's not clear how to implement this in | ||
66 | /// salsa though, so we punt on that bit for a moment. | ||
58 | pub fn missing() -> Name { | 67 | pub fn missing() -> Name { |
59 | Name::new_text("[missing name]".into()) | 68 | Name::new_text("[missing name]".into()) |
60 | } | 69 | } |