diff --git a/src/librustc_error_codes/error_codes/E0275.md b/src/librustc_error_codes/error_codes/E0275.md index 836a9a95fa17b..2d12fcea4cafc 100644 --- a/src/librustc_error_codes/error_codes/E0275.md +++ b/src/librustc_error_codes/error_codes/E0275.md @@ -1,8 +1,6 @@ -This error occurs when there was a recursive trait requirement that overflowed -before it could be evaluated. Often this means that there is unbounded -recursion in resolving some type bounds. +An evaluation of a trait requirement overflowed. -For example, in the following code: +Erroneous code example: ```compile_fail,E0275 trait Foo {} @@ -12,6 +10,10 @@ struct Bar(T); impl Foo for T where Bar: Foo {} ``` +This error occurs when there was a recursive trait requirement that overflowed +before it could be evaluated. This often means that there is an unbounded +recursion in resolving some type bounds. + To determine if a `T` is `Foo`, we need to check if `Bar` is `Foo`. However, to do this check, we need to determine that `Bar>` is `Foo`. To determine this, we check if `Bar>>` is `Foo`, and so on. This is