From 2563e68b244749e9f2ccacb65b2ae87c05652d9a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?F=C3=A9lix=20Fischer?= Date: Thu, 15 Nov 2018 00:20:11 -0300 Subject: [PATCH 1/2] Fix typo "is is" ~> "it is" --- src/traits/lowering-to-logic.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/traits/lowering-to-logic.md b/src/traits/lowering-to-logic.md index a0490adf3..e07451699 100644 --- a/src/traits/lowering-to-logic.md +++ b/src/traits/lowering-to-logic.md @@ -50,7 +50,7 @@ so by applying the rules recursively: - `Clone(Vec>)` is provable if: - `Clone(Vec)` is provable if: - - `Clone(usize)` is provable. (Which is is, so we're all good.) + - `Clone(usize)` is provable. (Which it is, so we're all good.) But now suppose we tried to prove that `Clone(Vec)`. This would fail (after all, I didn't give an impl of `Clone` for `Bar`): From 52423b299d5e3fc4b5b998ed34eb47c8afe9e63c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?F=C3=A9lix=20Fischer?= Date: Thu, 15 Nov 2018 00:28:27 -0300 Subject: [PATCH 2/2] Fix another typo Fixed grammar on this sentence --- src/traits/lowering-to-logic.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/traits/lowering-to-logic.md b/src/traits/lowering-to-logic.md index e07451699..e1a6c1361 100644 --- a/src/traits/lowering-to-logic.md +++ b/src/traits/lowering-to-logic.md @@ -130,8 +130,8 @@ Ok, so far so good. Let's move on to type-checking a more complex function. In the last section, we used standard Prolog horn-clauses (augmented with Rust's notion of type equality) to type-check some simple Rust functions. But that only works when we are type-checking non-generic functions. If we want to type-check -a generic function, it turns out we need a stronger notion of goal than Prolog -can be provide. To see what I'm talking about, let's revamp our previous +a generic function, it turns out we need a stronger notion of goal than what Prolog +can provide. To see what I'm talking about, let's revamp our previous example to make `foo` generic: ```rust,ignore