xref: /linux-6.15/rust/pin-init/examples/error.rs (revision 84837cf6)
1*84837cf6SBenno Lossin // SPDX-License-Identifier: Apache-2.0 OR MIT
2*84837cf6SBenno Lossin 
3*84837cf6SBenno Lossin #![cfg_attr(feature = "alloc", feature(allocator_api))]
4*84837cf6SBenno Lossin 
5*84837cf6SBenno Lossin use core::convert::Infallible;
6*84837cf6SBenno Lossin 
7*84837cf6SBenno Lossin #[cfg(feature = "alloc")]
8*84837cf6SBenno Lossin use std::alloc::AllocError;
9*84837cf6SBenno Lossin 
10*84837cf6SBenno Lossin #[derive(Debug)]
11*84837cf6SBenno Lossin pub struct Error;
12*84837cf6SBenno Lossin 
13*84837cf6SBenno Lossin impl From<Infallible> for Error {
from(e: Infallible) -> Self14*84837cf6SBenno Lossin     fn from(e: Infallible) -> Self {
15*84837cf6SBenno Lossin         match e {}
16*84837cf6SBenno Lossin     }
17*84837cf6SBenno Lossin }
18*84837cf6SBenno Lossin 
19*84837cf6SBenno Lossin #[cfg(feature = "alloc")]
20*84837cf6SBenno Lossin impl From<AllocError> for Error {
from(_: AllocError) -> Self21*84837cf6SBenno Lossin     fn from(_: AllocError) -> Self {
22*84837cf6SBenno Lossin         Self
23*84837cf6SBenno Lossin     }
24*84837cf6SBenno Lossin }
25*84837cf6SBenno Lossin 
26*84837cf6SBenno Lossin #[allow(dead_code)]
main()27*84837cf6SBenno Lossin fn main() {}
28