1
Fork 0

It's only an issue without an impl Trait for !

This commit is contained in:
Camelid 2020-08-29 20:41:36 -07:00 committed by GitHub
parent fd985e29dd
commit 0d9a2abe69
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -194,9 +194,9 @@ mod prim_bool {}
/// # `!` and traits /// # `!` and traits
/// ///
/// When writing your own traits, `!` should have an `impl` whenever there is an obvious `impl` /// When writing your own traits, `!` should have an `impl` whenever there is an obvious `impl`
/// which doesn't `panic!`. The reason is that functions returning an `impl Trait` cannot diverge, /// which doesn't `panic!`. The reason is that functions returning an `impl Trait` where `!`
/// i.e., returning `!`, as their only possible code path. As an example, this code doesn't /// does not have an `impl` of `Trait` cannot diverge as their only possible code path. In other
/// compile: /// words, they can't return `!` from every code path. As an example, this code doesn't compile:
/// ///
/// ```compile_fail /// ```compile_fail
/// use core::ops::Add; /// use core::ops::Add;
@ -206,7 +206,7 @@ mod prim_bool {}
/// } /// }
/// ``` /// ```
/// ///
/// While this code does: /// But this code does:
/// ///
/// ``` /// ```
/// use core::ops::Add; /// use core::ops::Add;