1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
use rocket::{fairing::Fairing, Rocket}; /// Attach a fairing iff `condition == true` pub trait ConditionalAttach { fn attach_if(self, condition: bool, fairing: impl Fairing) -> Self; } pub mod prelude { pub use crate::ConditionalAttach; } impl ConditionalAttach for Rocket { #[inline] fn attach_if(self, condition: bool, fairing: impl Fairing) -> Self { if condition { self.attach(fairing) } else { self } } }