You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I have an example use case that either does not work currently, or I am deeply misunderstanding the documentation ;-)
#[derive(Debug,TypedBuilder)]structCalendarEvent<Tz: chrono::offset::TimeZone>{#[builder(setter(into))]title:String,// Goal: User should be able to set start(...), then may EITHER:// - set end(...)// - call with_duration(chrono::Duration) which would automatically add duration to start and set end.#[builder( mutators(fn with_duration(&mutself, duration: chrono::Duration){self.end = self.start.clone().checked_add_signed(duration).unwrap();}))]start: chrono::DateTime<Tz>,#[builder(???)]end: chrono::DateTime<Tz>,}
The "goal" comment describes the use case, i.e. two different paths to the completed builder.
Of course, there may be multiple other paths.
I have tried several combinations but none work. Is it because I am using generics? Or am I trying to do something that is currently unsupported?
The text was updated successfully, but these errors were encountered:
Mutators change the value of the builder payload, but they cannot change its type. Having mutators that can change the type is a more complex feature (which would also require more complex syntax) that is not currently implemented.
I have an example use case that either does not work currently, or I am deeply misunderstanding the documentation ;-)
The "goal" comment describes the use case, i.e. two different paths to the completed builder.
Of course, there may be multiple other paths.
I have tried several combinations but none work. Is it because I am using generics? Or am I trying to do something that is currently unsupported?
The text was updated successfully, but these errors were encountered: