WIP
This commit is contained in:
parent
90f226193c
commit
fedb787b4f
5 changed files with 239 additions and 29 deletions
|
@ -4,24 +4,12 @@ pub trait Refineable: Clone {
|
|||
type Refinement: Refineable<Refinement = Self::Refinement> + Default;
|
||||
|
||||
fn refine(&mut self, refinement: &Self::Refinement);
|
||||
fn refined(mut self, refinement: &Self::Refinement) -> Self
|
||||
where
|
||||
Self: Sized,
|
||||
{
|
||||
self.refine(refinement);
|
||||
self
|
||||
}
|
||||
fn from_refinement(refinement: &Self::Refinement) -> Self
|
||||
where
|
||||
Self: Default + Sized,
|
||||
{
|
||||
Self::default().refined(refinement)
|
||||
}
|
||||
fn refined(self, refinement: Self::Refinement) -> Self;
|
||||
fn from_cascade(cascade: &Cascade<Self>) -> Self
|
||||
where
|
||||
Self: Default + Sized,
|
||||
{
|
||||
Self::default().refined(&cascade.merged())
|
||||
Self::default().refined(cascade.merged())
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue