psyche_utils/bucket_strainer/rules/
fixed_score_rule.rs1use crate::bucket_strainer::{Bucket, Rule};
2use crate::Scalar;
3
4#[derive(Clone)]
6pub struct FixedScoreRule {
7 pub score: Scalar,
9}
10
11impl FixedScoreRule {
12 pub fn new(score: Scalar) -> Self {
13 Self { score }
14 }
15}
16
17impl<T> Rule<T> for FixedScoreRule
18where
19 T: Clone,
20{
21 fn score(&self, _: &T, _: &Bucket<T>) -> Scalar {
22 self.score
23 }
24
25 fn box_clone(&self) -> Box<dyn Rule<T>> {
26 Box::new((*self).clone())
27 }
28}