diff --git a/src/actions.rs b/src/actions.rs index 2e69efe7ed015cbeccc84117136144a47d0a9cd2..b569886ae1941e0a3dd0f993a6794ac49d034588 100644 --- a/src/actions.rs +++ b/src/actions.rs @@ -112,7 +112,7 @@ impl StepsBuilder { /** Adds an action step. Order matters. */ - pub fn step(&mut self, action_builder: impl ActionBuilder + 'static) -> &mut Self { + pub fn step(mut self, action_builder: impl ActionBuilder + 'static) -> Self { self.steps.push(Arc::new(action_builder)); self } diff --git a/src/lib.rs b/src/lib.rs index d8067d73e4e6406028080f662c90fede55a4d1b0..5174ba63baa48a80ea3f9ec09700a1c3f6249b30 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -165,7 +165,7 @@ pub mod prelude { pub use super::BigBrainPlugin; pub use actions::{ActionBuilder, ActionState, Steps}; pub use pickers::{FirstToScore, Picker}; - pub use scorers::{AllOrNothing, FixedScore, Score, ScorerBuilder, SumOfScorers}; + pub use scorers::{AllOrNothing, FixedScore, Score, ScorerBuilder, SumOfScorers, WinningScorer}; pub use thinker::{Actor, Thinker, ThinkerBuilder}; } diff --git a/src/scorers.rs b/src/scorers.rs index 17ab62ed352a813862cf78015be0d7ccf977441b..b49b02b6ea1f71c9029e287ab368a779db9209c8 100644 --- a/src/scorers.rs +++ b/src/scorers.rs @@ -163,7 +163,7 @@ impl AllOrNothingBuilder { /** Add another Scorer to this [`ScorerBuilder`]. */ - pub fn push(&mut self, scorer: impl ScorerBuilder + 'static) -> &mut Self { + pub fn push(mut self, scorer: impl ScorerBuilder + 'static) -> Self { self.scorers.push(Arc::new(scorer)); self } @@ -245,7 +245,7 @@ pub struct SumOfScorersBuilder { } impl SumOfScorersBuilder { - pub fn when(&mut self, scorer: impl ScorerBuilder + 'static) -> &mut Self { + pub fn push(mut self, scorer: impl ScorerBuilder + 'static) -> Self { self.scorers.push(Arc::new(scorer)); self } @@ -331,18 +331,11 @@ pub struct WinningScorerBuilder { scorers: Vec<Arc<dyn ScorerBuilder>>, } -impl WinningScorerBuilder { - pub fn when(&mut self, scorer: impl ScorerBuilder + 'static) -> &mut Self { - self.scorers.push(Arc::new(scorer)); - self - } -} - impl WinningScorerBuilder { /** Add another Scorer to this [`ScorerBuilder`]. */ - pub fn push(&mut self, scorer: impl ScorerBuilder + 'static) -> &mut Self { + pub fn push(mut self, scorer: impl ScorerBuilder + 'static) -> Self { self.scorers.push(Arc::new(scorer)); self }