-
Notifications
You must be signed in to change notification settings - Fork 180
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #329 from yaahc/type-interner
Rename TypeFamily to Interner
- Loading branch information
Showing
56 changed files
with
1,429 additions
and
1,538 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
## The role of the `Interner` | ||
|
||
Most everything in the IR is parameterized by the [`Interner`] trait: | ||
|
||
[`Interner`]: http://rust-lang.github.io/chalk/chalk_ir/interner/trait.Interner.html | ||
|
||
```rust,ignore | ||
trait Interner: Copy + Clone + Debug + Eq + Ord { | ||
.. | ||
} | ||
``` | ||
|
||
We'll go over the details later, but for now it suffices to say that | ||
the interner is defined by the embedded and can be used to control | ||
(to a certain extent) the actual representation of types, goals, and | ||
other things in memory. For example, the `Interner` trait could be | ||
used to intern all the types, as rustc does, or it could be used to | ||
`Box` them instead, as the chalk testing harness currently does. |
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.