-
Notifications
You must be signed in to change notification settings - Fork 14
Open
Description
How would I prevent Delegate from delegating every method in a trait, so I can override some.
use ambassador::{delegatable_trait, Delegate};
#[delegatable_trait]
trait SomeTrait {
fn get_val(&self) -> f64;
fn some_other_thing(&self) {}
}
struct SomeTraitImpl;
impl SomeTrait for SomeTraitImpl {
fn get_val(&self) -> f64 {
0.0
}
}
#[derive(Delegate)]
#[delegate(SomeTrait, target = "owned")]
struct SomeTraitImplOwner {
owned: SomeTraitImpl,
}
impl SomeTraitImplOwner {
fn get_val(&self) -> f64 {
self.owned.get_val() + 1.0
}
}
impl SomeTrait for SomeTraitImplOwner { // <- Error here
fn get_val(&self) -> f64 {
SomeTraitImplOwner::get_val(self)
}
}Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels