Distinguish between name IDs and string IDs in the type system. (#3341)

Add a `NameId` that is effectively just a wrapper around a `StringId`,
with
some additional predefined values for names that don't correspond to
strings, such as the name of `self` or the function's return slot.
This commit is contained in:
Richard Smith
2023-11-09 16:51:36 +00:00
committed by GitHub
parent 84bc8cc4bf
commit 71aa4a45be
206 changed files with 1050 additions and 921 deletions
@@ -17,7 +17,7 @@ fn A() {
// CHECK:STDOUT:
// CHECK:STDOUT: fn @A() {
// CHECK:STDOUT: !entry:
// CHECK:STDOUT: %A.ref: <function> = name_reference "A", file.%A
// CHECK:STDOUT: %A.ref: <function> = name_reference A, file.%A
// CHECK:STDOUT: %.loc11: ref <error> = dereference <error>
// CHECK:STDOUT: return
// CHECK:STDOUT: }