From 35f1c2fd1306e0824ab4ac4d9fac7595e0937174 Mon Sep 17 00:00:00 2001 From: Nickolay Ponomarev Date: Sun, 28 Apr 2019 22:32:28 +0300 Subject: [PATCH] Clarify the short explanation of E0207 - Use the terms from the reference - Add code snippets to explain the terms --- src/librustc_typeck/error_codes.rs | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/librustc_typeck/error_codes.rs b/src/librustc_typeck/error_codes.rs index ba67593ce96..ab4ab46341d 100644 --- a/src/librustc_typeck/error_codes.rs +++ b/src/librustc_typeck/error_codes.rs @@ -1943,9 +1943,11 @@ E0207: r##" Any type parameter or lifetime parameter of an `impl` must meet at least one of the following criteria: - - it appears in the self type of the impl - - for a trait impl, it appears in the trait reference - - it is bound as an associated type + - it appears in the _implementing type_ of the impl, e.g. `impl Foo` + - for a trait impl, it appears in the _implemented trait_, e.g. + `impl SomeTrait for Foo` + - it is bound as an associated type, e.g. `impl SomeTrait for T + where T: AnotherTrait` ### Error example 1 @@ -1964,9 +1966,9 @@ impl Foo { } ``` -The problem is that the parameter `T` does not appear in the self type (`Foo`) -of the impl. In this case, we can fix the error by moving the type parameter -from the `impl` to the method `get`: +The problem is that the parameter `T` does not appear in the implementing type +(`Foo`) of the impl. In this case, we can fix the error by moving the type +parameter from the `impl` to the method `get`: ```