difftreelog
feat impl ContextInitializer for Option<impl ContextInitializer>
in: master
1 file changed
crates/jrsonnet-evaluator/src/lib.rsdiffbeforeafterboth116 }116 }117}117}118119impl<T> ContextInitializer for Option<T>120where121 T: ContextInitializer,122{123 fn initialize(&self, state: State, for_file: Source) -> Context {124 if let Some(ctx) = self {125 ctx.initialize(state, for_file)126 } else {127 ().initialize(state, for_file)128 }129 }130131 fn populate(&self, for_file: Source, builder: &mut ContextBuilder) {132 if let Some(ctx) = self {133 ctx.populate(for_file, builder);134 }135 }136137 fn as_any(&self) -> &dyn Any {138 self139 }140}118141119macro_rules! impl_context_initializer {142macro_rules! impl_context_initializer {120 ($($gen:ident)*) => {143 ($($gen:ident)*) => {