clean up E0275 explanation
This commit is contained in:
parent
320ada6479
commit
37e7b46177
@ -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>(T);
|
||||
impl<T> Foo for T where Bar<T>: 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<T>` is `Foo`. However,
|
||||
to do this check, we need to determine that `Bar<Bar<T>>` is `Foo`. To
|
||||
determine this, we check if `Bar<Bar<Bar<T>>>` is `Foo`, and so on. This is
|
||||
|
Loading…
Reference in New Issue
Block a user