From c182461a20d1e81d9132d8ab1dd18db91908f3b8 Mon Sep 17 00:00:00 2001 From: Guillaume Gomez Date: Wed, 5 Feb 2020 23:03:03 +0100 Subject: [PATCH] clean E0271 explanation --- src/librustc_error_codes/error_codes/E0271.md | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/librustc_error_codes/error_codes/E0271.md b/src/librustc_error_codes/error_codes/E0271.md index 4078598b39415..31334069ed8a4 100644 --- a/src/librustc_error_codes/error_codes/E0271.md +++ b/src/librustc_error_codes/error_codes/E0271.md @@ -1,9 +1,6 @@ -This is because of a type mismatch between the associated type of some -trait (e.g., `T::Bar`, where `T` implements `trait Quux { type Bar; }`) -and another type `U` that is required to be equal to `T::Bar`, but is not. -Examples follow. +A type mismatched an associated type of a trait. -Here is a basic example: +Erroneous code example: ```compile_fail,E0271 trait Trait { type AssociatedType; } @@ -17,6 +14,11 @@ impl Trait for i8 { type AssociatedType = &'static str; } foo(3_i8); ``` +This is because of a type mismatch between the associated type of some +trait (e.g., `T::Bar`, where `T` implements `trait Quux { type Bar; }`) +and another type `U` that is required to be equal to `T::Bar`, but is not. +Examples follow. + Here is that same example again, with some explanatory comments: ```compile_fail,E0271