grass_runtime/property/score.rs
1pub trait Scored<T> {
2 fn score(&self) -> Option<T>;
3}
4
5impl<S, T: Scored<S>> Scored<S> for Option<T> {
6 fn score(&self) -> Option<S> {
7 self.as_ref().map(|inner| inner.score()).flatten()
8 }
9}
10
11impl<S, A: Scored<S>, B> Scored<S> for (A, B) {
12 fn score(&self) -> Option<S> {
13 self.0.score()
14 }
15}