|
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