|
1 | 1 | #![doc = include_str!("../../core/src/error.md")]
|
2 | 2 | #![stable(feature = "rust1", since = "1.0.0")]
|
3 | 3 |
|
4 |
| -// A note about crates and the facade: |
5 |
| -// |
6 |
| -// Originally, the `Error` trait was defined in libcore, and the impls |
7 |
| -// were scattered about. However, coherence objected to this |
8 |
| -// arrangement, because to create the blanket impls for `Box` required |
9 |
| -// knowing that `&str: !Error`, and we have no means to deal with that |
10 |
| -// sort of conflict just now. Therefore, for the time being, we have |
11 |
| -// moved the `Error` trait into libstd. As we evolve a sol'n to the |
12 |
| -// coherence challenge (e.g., specialization, neg impls, etc) we can |
13 |
| -// reconsider what crate these items belong in. |
14 |
| - |
15 | 4 | #[cfg(test)]
|
16 | 5 | mod tests;
|
17 | 6 |
|
@@ -996,10 +985,6 @@ impl dyn Error {
|
996 | 985 | // because that means the method can't be called on trait objects (we'd also need the
|
997 | 986 | // 'static bound, but that isn't allowed because methods with bounds on Self other than
|
998 | 987 | // Sized are not object-safe). Requiring an Unsize bound is not backwards compatible.
|
999 |
| - // |
1000 |
| - // Two possible solutions are to start the iterator at self.source() instead of self (see |
1001 |
| - // discussion on the tracking issue), or to wait for dyn* to exist (which would then permit |
1002 |
| - // the coercion). |
1003 | 988 |
|
1004 | 989 | Sources { current: Some(self) }
|
1005 | 990 | }
|
|
0 commit comments