diff options
Diffstat (limited to 'crates/ra_hir/src/ids.rs')
-rw-r--r-- | crates/ra_hir/src/ids.rs | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/crates/ra_hir/src/ids.rs b/crates/ra_hir/src/ids.rs index 4102951c9..ff4a81e59 100644 --- a/crates/ra_hir/src/ids.rs +++ b/crates/ra_hir/src/ids.rs | |||
@@ -354,3 +354,15 @@ impl MacroCallId { | |||
354 | ) | 354 | ) |
355 | } | 355 | } |
356 | } | 356 | } |
357 | |||
358 | /// This exists just for Chalk, because Chalk just has a single `StructId` where | ||
359 | /// we have different kinds of ADTs, primitive types and special type | ||
360 | /// constructors like tuples and function pointers. | ||
361 | #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)] | ||
362 | pub struct TypeCtorId(salsa::InternId); | ||
363 | impl_intern_key!(TypeCtorId); | ||
364 | |||
365 | /// This exists just for Chalk, because our ImplIds are only unique per module. | ||
366 | #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)] | ||
367 | pub struct GlobalImplId(salsa::InternId); | ||
368 | impl_intern_key!(GlobalImplId); | ||