-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Scoping Feature #55
Merged
Merged
Scoping Feature #55
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Commit: 470ee86 Removed items from the public API
=================================
-impl<State> backer::Layout<State>
-impl<State> backer::Layout<State>
-pub fn backer::Layout<State>::draw(&self, area: backer::models::Area, state: &mut State)
-pub fn backer::Layout<State>::new(tree: fn(&mut State) -> backer::Node<State>) -> Self
-impl<State: core::clone::Clone> core::clone::Clone for backer::Layout<State>
-pub fn backer::Layout<State>::clone(&self) -> backer::Layout<State>
-impl<State: core::fmt::Debug> core::fmt::Debug for backer::Layout<State>
-pub fn backer::Layout<State>::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result
-impl<State> core::marker::Freeze for backer::Layout<State>
-impl<State> core::marker::Send for backer::Layout<State>
-impl<State> core::marker::Sync for backer::Layout<State>
-impl<State> core::marker::Unpin for backer::Layout<State>
-impl<State> core::panic::unwind_safe::RefUnwindSafe for backer::Layout<State>
-impl<State> core::panic::unwind_safe::UnwindSafe for backer::Layout<State>
-impl<T, U> core::convert::Into<U> for backer::Layout<State> where U: core::convert::From<T>
-pub fn backer::Layout<State>::into(self) -> U
-impl<T, U> core::convert::TryFrom<U> for backer::Layout<State> where U: core::convert::Into<T>
-pub type backer::Layout<State>::Error = core::convert::Infallible
-pub fn backer::Layout<State>::try_from(value: U) -> core::result::Result<T, <T as core::convert::TryFrom<U>>::Error>
-impl<T, U> core::convert::TryInto<U> for backer::Layout<State> where U: core::convert::TryFrom<T>
-pub type backer::Layout<State>::Error = <U as core::convert::TryFrom<T>>::Error
-pub fn backer::Layout<State>::try_into(self) -> core::result::Result<U, <U as core::convert::TryFrom<T>>::Error>
-impl<T> alloc::borrow::ToOwned for backer::Layout<State> where T: core::clone::Clone
-pub type backer::Layout<State>::Owned = T
-pub fn backer::Layout<State>::clone_into(&self, target: &mut T)
-pub fn backer::Layout<State>::to_owned(&self) -> T
-impl<T> core::any::Any for backer::Layout<State> where T: 'static + core::marker::Sized
-pub fn backer::Layout<State>::type_id(&self) -> core::any::TypeId
-impl<T> core::borrow::Borrow<T> for backer::Layout<State> where T: core::marker::Sized
-pub fn backer::Layout<State>::borrow(&self) -> &T
-impl<T> core::borrow::BorrowMut<T> for backer::Layout<State> where T: core::marker::Sized
-pub fn backer::Layout<State>::borrow_mut(&mut self) -> &mut T
-impl<T> core::clone::CloneToUninit for backer::Layout<State> where T: core::clone::Clone
-pub unsafe fn backer::Layout<State>::clone_to_uninit(&self, dst: *mut T)
-impl<T> core::convert::From<T> for backer::Layout<State>
-pub fn backer::Layout<State>::from(t: T) -> T
-pub struct backer::Node<State>
-impl<U> backer::Node<U>
-pub fn backer::Node<U>::align(self, align: backer::models::Align) -> Self
-pub fn backer::Node<U>::aspect(self, ratio: f32) -> Self
-pub fn backer::Node<U>::attach_over(self, node: Self) -> Self
-pub fn backer::Node<U>::attach_under(self, node: Self) -> Self
-pub fn backer::Node<U>::dynamic_height(self, f: impl core::ops::function::Fn(f32, &mut U) -> f32 + 'static) -> Self
-pub fn backer::Node<U>::dynamic_width(self, f: impl core::ops::function::Fn(f32, &mut U) -> f32 + 'static) -> Self
-pub fn backer::Node<U>::height(self, height: f32) -> Self
-pub fn backer::Node<U>::height_range<R>(self, range: R) -> Self where R: core::ops::range::RangeBounds<f32>
-pub fn backer::Node<U>::offset(self, offset_x: f32, offset_y: f32) -> backer::Node<U>
-pub fn backer::Node<U>::offset_x(self, amount: f32) -> backer::Node<U>
-pub fn backer::Node<U>::offset_y(self, amount: f32) -> backer::Node<U>
-pub fn backer::Node<U>::pad(self, amount: f32) -> backer::Node<U>
-pub fn backer::Node<U>::pad_bottom(self, amount: f32) -> backer::Node<U>
-pub fn backer::Node<U>::pad_leading(self, amount: f32) -> backer::Node<U>
-pub fn backer::Node<U>::pad_top(self, amount: f32) -> backer::Node<U>
-pub fn backer::Node<U>::pad_trailing(self, amount: f32) -> backer::Node<U>
-pub fn backer::Node<U>::pad_x(self, amount: f32) -> backer::Node<U>
-pub fn backer::Node<U>::pad_y(self, amount: f32) -> backer::Node<U>
-pub fn backer::Node<U>::width(self, width: f32) -> Self
-pub fn backer::Node<U>::width_range<R>(self, range: R) -> Self where R: core::ops::range::RangeBounds<f32>
-impl<State: core::fmt::Debug> core::fmt::Debug for backer::Node<State>
-pub fn backer::Node<State>::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result
-impl<State> core::clone::Clone for backer::Node<State>
-pub fn backer::Node<State>::clone(&self) -> Self
-impl<State> core::marker::Freeze for backer::Node<State>
-impl<State> !core::marker::Send for backer::Node<State>
-impl<State> !core::marker::Sync for backer::Node<State>
-impl<State> core::marker::Unpin for backer::Node<State>
-impl<State> !core::panic::unwind_safe::RefUnwindSafe for backer::Node<State>
-impl<State> !core::panic::unwind_safe::UnwindSafe for backer::Node<State>
-impl<T, U> core::convert::Into<U> for backer::Node<State> where U: core::convert::From<T>
-pub fn backer::Node<State>::into(self) -> U
-impl<T, U> core::convert::TryFrom<U> for backer::Node<State> where U: core::convert::Into<T>
-pub type backer::Node<State>::Error = core::convert::Infallible
-pub fn backer::Node<State>::try_from(value: U) -> core::result::Result<T, <T as core::convert::TryFrom<U>>::Error>
-impl<T, U> core::convert::TryInto<U> for backer::Node<State> where U: core::convert::TryFrom<T>
-pub type backer::Node<State>::Error = <U as core::convert::TryFrom<T>>::Error
-pub fn backer::Node<State>::try_into(self) -> core::result::Result<U, <U as core::convert::TryFrom<T>>::Error>
-impl<T> alloc::borrow::ToOwned for backer::Node<State> where T: core::clone::Clone
-pub type backer::Node<State>::Owned = T
-pub fn backer::Node<State>::clone_into(&self, target: &mut T)
-pub fn backer::Node<State>::to_owned(&self) -> T
-impl<T> core::any::Any for backer::Node<State> where T: 'static + core::marker::Sized
-pub fn backer::Node<State>::type_id(&self) -> core::any::TypeId
-impl<T> core::borrow::Borrow<T> for backer::Node<State> where T: core::marker::Sized
-pub fn backer::Node<State>::borrow(&self) -> &T
-impl<T> core::borrow::BorrowMut<T> for backer::Node<State> where T: core::marker::Sized
-pub fn backer::Node<State>::borrow_mut(&mut self) -> &mut T
-impl<T> core::clone::CloneToUninit for backer::Node<State> where T: core::clone::Clone
-pub unsafe fn backer::Node<State>::clone_to_uninit(&self, dst: *mut T)
-impl<T> core::convert::From<T> for backer::Node<State>
-pub fn backer::Node<State>::from(t: T) -> T
Changed items in the public API
===============================
-pub fn backer::nodes::area_reader<U>(func: impl core::ops::function::Fn(backer::models::Area, &mut U) -> backer::Node<U> + 'static) -> backer::Node<U>
+pub fn backer::nodes::area_reader<State>(func: impl core::ops::function::Fn(backer::models::Area, &mut State, &mut ()) -> backer::Node<State> + 'static) -> backer::Node<State>
-pub fn backer::nodes::column<U>(elements: alloc::vec::Vec<backer::Node<U>>) -> backer::Node<U>
+pub fn backer::nodes::column<State, Ctx>(elements: alloc::vec::Vec<backer::NodeWith<State, Ctx>>) -> backer::NodeWith<State, Ctx>
-pub fn backer::nodes::column_spaced<U>(spacing: f32, elements: alloc::vec::Vec<backer::Node<U>>) -> backer::Node<U>
+pub fn backer::nodes::column_spaced<State, Ctx>(spacing: f32, elements: alloc::vec::Vec<backer::NodeWith<State, Ctx>>) -> backer::NodeWith<State, Ctx>
-pub fn backer::nodes::draw<U>(drawable: impl core::ops::function::Fn(backer::models::Area, &mut U) + 'static) -> backer::Node<U>
+pub fn backer::nodes::draw<State>(drawable: impl core::ops::function::Fn(backer::models::Area, &mut State) + 'static) -> backer::Node<State>
-pub fn backer::nodes::empty<U>() -> backer::Node<U>
+pub fn backer::nodes::empty<State, Ctx>() -> backer::NodeWith<State, Ctx>
-pub fn backer::nodes::group<U>(elements: alloc::vec::Vec<backer::Node<U>>) -> backer::Node<U>
+pub fn backer::nodes::group<State, Ctx>(elements: alloc::vec::Vec<backer::NodeWith<State, Ctx>>) -> backer::NodeWith<State, Ctx>
-pub fn backer::nodes::row<U>(elements: alloc::vec::Vec<backer::Node<U>>) -> backer::Node<U>
+pub fn backer::nodes::row<State, Ctx>(elements: alloc::vec::Vec<backer::NodeWith<State, Ctx>>) -> backer::NodeWith<State, Ctx>
-pub fn backer::nodes::row_spaced<U>(spacing: f32, elements: alloc::vec::Vec<backer::Node<U>>) -> backer::Node<U>
+pub fn backer::nodes::row_spaced<State, Ctx>(spacing: f32, elements: alloc::vec::Vec<backer::NodeWith<State, Ctx>>) -> backer::NodeWith<State, Ctx>
-pub fn backer::nodes::scope<U: 'static, V: 'static>(scope: fn(&mut U) -> &mut V, node: backer::Node<V>) -> backer::Node<U>
+pub fn backer::nodes::scope<State, ScopedState, StateScoper>(node: impl core::ops::function::Fn(&mut ScopedState) -> backer::Node<ScopedState> + 'static) -> backer::Node<State> where ScopedState: 'static, State: 'static, StateScoper: backer::traits::ScopableOption<State, ScopedState> + 'static
-pub fn backer::nodes::space<U>() -> backer::Node<U>
+pub fn backer::nodes::space<State, Ctx>() -> backer::NodeWith<State, Ctx>
-pub fn backer::nodes::stack<U>(elements: alloc::vec::Vec<backer::Node<U>>) -> backer::Node<U>
+pub fn backer::nodes::stack<State, Ctx>(elements: alloc::vec::Vec<backer::NodeWith<State, Ctx>>) -> backer::NodeWith<State, Ctx>
-pub struct backer::Layout<State>
+pub struct backer::Layout<State, Ctx>
Added items to the public API
=============================
+pub fn backer::nodes::area_reader_with<State, Ctx>(func: impl core::ops::function::Fn(backer::models::Area, &mut State, &mut Ctx) -> backer::NodeWith<State, Ctx> + 'static) -> backer::NodeWith<State, Ctx>
+pub fn backer::nodes::draw_with<State, Ctx>(drawable: impl core::ops::function::Fn(backer::models::Area, &mut State, &mut Ctx) + 'static) -> backer::NodeWith<State, Ctx>
+pub fn backer::nodes::scope_with<State, ScopedState, Ctx, ScopedCtx, StateScoper, CtxScoper>(node: impl core::ops::function::Fn(&mut ScopedState, &mut ScopedCtx) -> backer::NodeWith<ScopedState, ScopedCtx> + 'static) -> backer::NodeWith<State, Ctx> where ScopedState: 'static, State: 'static, ScopedCtx: 'static, Ctx: 'static, StateScoper: backer::traits::ScopableOption<State, ScopedState> + 'static, CtxScoper: backer::traits::ScopableOption<Ctx, ScopedCtx> + 'static
+pub mod backer::traits
+pub struct backer::traits::NoOpScoper<Scoping>
+impl<Scoping> backer::traits::Scopable<Scoping, Scoping> for backer::traits::NoOpScoper<Scoping>
+impl<Scoping> backer::traits::Scopable<Scoping, Scoping> for backer::traits::NoOpScoper<Scoping>
+pub fn backer::traits::NoOpScoper<Scoping>::scope<Result>(scoping: &mut Scoping, f: impl core::ops::function::FnOnce(&mut Scoping) -> Result) -> Result
+pub fn backer::traits::NoOpScoper<Scoping>::scope<Result>(scoping: &mut Scoping, f: impl core::ops::function::FnOnce(&mut Scoping) -> Result) -> Result
+impl<Scoping> core::marker::Freeze for backer::traits::NoOpScoper<Scoping>
+impl<Scoping> core::marker::Send for backer::traits::NoOpScoper<Scoping> where Scoping: core::marker::Send
+impl<Scoping> core::marker::Sync for backer::traits::NoOpScoper<Scoping> where Scoping: core::marker::Sync
+impl<Scoping> core::marker::Unpin for backer::traits::NoOpScoper<Scoping> where Scoping: core::marker::Unpin
+impl<Scoping> core::panic::unwind_safe::RefUnwindSafe for backer::traits::NoOpScoper<Scoping> where Scoping: core::panic::unwind_safe::RefUnwindSafe
+impl<Scoping> core::panic::unwind_safe::UnwindSafe for backer::traits::NoOpScoper<Scoping> where Scoping: core::panic::unwind_safe::UnwindSafe
+impl<T, Scoping, Scoped> backer::traits::ScopableOption<Scoping, Scoped> for backer::traits::NoOpScoper<Scoping> where T: backer::traits::Scopable<Scoping, Scoped>
+pub fn backer::traits::NoOpScoper<Scoping>::scope_option<Result>(scoping: &mut Scoping, f: impl core::ops::function::FnOnce(core::option::Option<&mut Scoped>) -> Result) -> Result
+impl<T, U> core::convert::Into<U> for backer::traits::NoOpScoper<Scoping> where U: core::convert::From<T>
+pub fn backer::traits::NoOpScoper<Scoping>::into(self) -> U
+impl<T, U> core::convert::TryFrom<U> for backer::traits::NoOpScoper<Scoping> where U: core::convert::Into<T>
+pub type backer::traits::NoOpScoper<Scoping>::Error = core::convert::Infallible
+pub fn backer::traits::NoOpScoper<Scoping>::try_from(value: U) -> core::result::Result<T, <T as core::convert::TryFrom<U>>::Error>
+impl<T, U> core::convert::TryInto<U> for backer::traits::NoOpScoper<Scoping> where U: core::convert::TryFrom<T>
+pub type backer::traits::NoOpScoper<Scoping>::Error = <U as core::convert::TryFrom<T>>::Error
+pub fn backer::traits::NoOpScoper<Scoping>::try_into(self) -> core::result::Result<U, <U as core::convert::TryFrom<T>>::Error>
+impl<T> core::any::Any for backer::traits::NoOpScoper<Scoping> where T: 'static + core::marker::Sized
+pub fn backer::traits::NoOpScoper<Scoping>::type_id(&self) -> core::any::TypeId
+impl<T> core::borrow::Borrow<T> for backer::traits::NoOpScoper<Scoping> where T: core::marker::Sized
+pub fn backer::traits::NoOpScoper<Scoping>::borrow(&self) -> &T
+impl<T> core::borrow::BorrowMut<T> for backer::traits::NoOpScoper<Scoping> where T: core::marker::Sized
+pub fn backer::traits::NoOpScoper<Scoping>::borrow_mut(&mut self) -> &mut T
+impl<T> core::convert::From<T> for backer::traits::NoOpScoper<Scoping>
+pub fn backer::traits::NoOpScoper<Scoping>::from(t: T) -> T
+pub trait backer::traits::Scopable<Scoping, Scoped>
+pub fn backer::traits::Scopable::scope<Result>(scoping: &mut Scoping, f: impl core::ops::function::FnOnce(&mut Scoped) -> Result) -> Result
+pub trait backer::traits::ScopableOption<Scoping, Scoped>
+pub fn backer::traits::ScopableOption::scope_option<Result>(scoping: &mut Scoping, f: impl core::ops::function::FnOnce(core::option::Option<&mut Scoped>) -> Result) -> Result
+impl<T, Scoping, Scoped> backer::traits::ScopableOption<Scoping, Scoped> for T where T: backer::traits::Scopable<Scoping, Scoped>
+pub fn T::scope_option<Result>(scoping: &mut Scoping, f: impl core::ops::function::FnOnce(core::option::Option<&mut Scoped>) -> Result) -> Result
+impl<State, Ctx> backer::Layout<State, Ctx>
+impl<State, Ctx> backer::Layout<State, Ctx>
+pub fn backer::Layout<State, Ctx>::draw_with(&self, area: backer::models::Area, state: &mut State, ctx: &mut Ctx)
+pub fn backer::Layout<State, Ctx>::new_with(tree: impl core::ops::function::Fn(&mut State, &mut Ctx) -> backer::NodeWith<State, Ctx> + 'static) -> Self
+impl<State> backer::Layout<State, ()>
+impl<State> backer::Layout<State, ()>
+pub fn backer::Layout<State, ()>::draw(&self, area: backer::models::Area, state: &mut State)
+pub fn backer::Layout<State, ()>::new(tree: impl core::ops::function::Fn(&mut State) -> backer::Node<State> + 'static) -> Self
+impl<State, Ctx> core::marker::Freeze for backer::Layout<State, Ctx>
+impl<State, Ctx> !core::marker::Send for backer::Layout<State, Ctx>
+impl<State, Ctx> !core::marker::Sync for backer::Layout<State, Ctx>
+impl<State, Ctx> core::marker::Unpin for backer::Layout<State, Ctx>
+impl<State, Ctx> !core::panic::unwind_safe::RefUnwindSafe for backer::Layout<State, Ctx>
+impl<State, Ctx> !core::panic::unwind_safe::UnwindSafe for backer::Layout<State, Ctx>
+impl<T, U> core::convert::Into<U> for backer::Layout<State, Ctx> where U: core::convert::From<T>
+pub fn backer::Layout<State, Ctx>::into(self) -> U
+impl<T, U> core::convert::TryFrom<U> for backer::Layout<State, Ctx> where U: core::convert::Into<T>
+pub type backer::Layout<State, Ctx>::Error = core::convert::Infallible
+pub fn backer::Layout<State, Ctx>::try_from(value: U) -> core::result::Result<T, <T as core::convert::TryFrom<U>>::Error>
+impl<T, U> core::convert::TryInto<U> for backer::Layout<State, Ctx> where U: core::convert::TryFrom<T>
+pub type backer::Layout<State, Ctx>::Error = <U as core::convert::TryFrom<T>>::Error
+pub fn backer::Layout<State, Ctx>::try_into(self) -> core::result::Result<U, <U as core::convert::TryFrom<T>>::Error>
+impl<T> core::any::Any for backer::Layout<State, Ctx> where T: 'static + core::marker::Sized
+pub fn backer::Layout<State, Ctx>::type_id(&self) -> core::any::TypeId
+impl<T> core::borrow::Borrow<T> for backer::Layout<State, Ctx> where T: core::marker::Sized
+pub fn backer::Layout<State, Ctx>::borrow(&self) -> &T
+impl<T> core::borrow::BorrowMut<T> for backer::Layout<State, Ctx> where T: core::marker::Sized
+pub fn backer::Layout<State, Ctx>::borrow_mut(&mut self) -> &mut T
+impl<T> core::convert::From<T> for backer::Layout<State, Ctx>
+pub fn backer::Layout<State, Ctx>::from(t: T) -> T
+pub struct backer::NodeWith<State, Ctx>
+impl<State, Ctx> backer::NodeWith<State, Ctx>
+pub fn backer::NodeWith<State, Ctx>::align(self, align: backer::models::Align) -> Self
+pub fn backer::NodeWith<State, Ctx>::aspect(self, ratio: f32) -> Self
+pub fn backer::NodeWith<State, Ctx>::attach_over(self, node: Self) -> Self
+pub fn backer::NodeWith<State, Ctx>::attach_under(self, node: Self) -> Self
+pub fn backer::NodeWith<State, Ctx>::dynamic_height_with(self, f: impl core::ops::function::Fn(f32, &mut State, &mut Ctx) -> f32 + 'static) -> Self
+pub fn backer::NodeWith<State, Ctx>::dynamic_width_with(self, f: impl core::ops::function::Fn(f32, &mut State, &mut Ctx) -> f32 + 'static) -> Self
+pub fn backer::NodeWith<State, Ctx>::height(self, height: f32) -> Self
+pub fn backer::NodeWith<State, Ctx>::height_range<R>(self, range: R) -> Self where R: core::ops::range::RangeBounds<f32>
+pub fn backer::NodeWith<State, Ctx>::offset(self, offset_x: f32, offset_y: f32) -> backer::NodeWith<State, Ctx>
+pub fn backer::NodeWith<State, Ctx>::offset_x(self, amount: f32) -> backer::NodeWith<State, Ctx>
+pub fn backer::NodeWith<State, Ctx>::offset_y(self, amount: f32) -> backer::NodeWith<State, Ctx>
+pub fn backer::NodeWith<State, Ctx>::pad(self, amount: f32) -> backer::NodeWith<State, Ctx>
+pub fn backer::NodeWith<State, Ctx>::pad_bottom(self, amount: f32) -> backer::NodeWith<State, Ctx>
+pub fn backer::NodeWith<State, Ctx>::pad_leading(self, amount: f32) -> backer::NodeWith<State, Ctx>
+pub fn backer::NodeWith<State, Ctx>::pad_top(self, amount: f32) -> backer::NodeWith<State, Ctx>
+pub fn backer::NodeWith<State, Ctx>::pad_trailing(self, amount: f32) -> backer::NodeWith<State, Ctx>
+pub fn backer::NodeWith<State, Ctx>::pad_x(self, amount: f32) -> backer::NodeWith<State, Ctx>
+pub fn backer::NodeWith<State, Ctx>::pad_y(self, amount: f32) -> backer::NodeWith<State, Ctx>
+pub fn backer::NodeWith<State, Ctx>::width(self, width: f32) -> Self
+pub fn backer::NodeWith<State, Ctx>::width_range<R>(self, range: R) -> Self where R: core::ops::range::RangeBounds<f32>
+impl<State> backer::NodeWith<State, ()>
+pub fn backer::NodeWith<State, ()>::dynamic_height(self, f: impl core::ops::function::Fn(f32, &mut State) -> f32 + 'static) -> Self
+pub fn backer::NodeWith<State, ()>::dynamic_width(self, f: impl core::ops::function::Fn(f32, &mut State) -> f32 + 'static) -> Self
+impl<State, Ctx> core::fmt::Debug for backer::NodeWith<State, Ctx>
+pub fn backer::NodeWith<State, Ctx>::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result
+impl<State, Ctx> core::marker::Freeze for backer::NodeWith<State, Ctx>
+impl<State, Ctx> !core::marker::Send for backer::NodeWith<State, Ctx>
+impl<State, Ctx> !core::marker::Sync for backer::NodeWith<State, Ctx>
+impl<State, Ctx> core::marker::Unpin for backer::NodeWith<State, Ctx>
+impl<State, Ctx> !core::panic::unwind_safe::RefUnwindSafe for backer::NodeWith<State, Ctx>
+impl<State, Ctx> !core::panic::unwind_safe::UnwindSafe for backer::NodeWith<State, Ctx>
+impl<T, U> core::convert::Into<U> for backer::NodeWith<State, Ctx> where U: core::convert::From<T>
+pub fn backer::NodeWith<State, Ctx>::into(self) -> U
+impl<T, U> core::convert::TryFrom<U> for backer::NodeWith<State, Ctx> where U: core::convert::Into<T>
+pub type backer::NodeWith<State, Ctx>::Error = core::convert::Infallible
+pub fn backer::NodeWith<State, Ctx>::try_from(value: U) -> core::result::Result<T, <T as core::convert::TryFrom<U>>::Error>
+impl<T, U> core::convert::TryInto<U> for backer::NodeWith<State, Ctx> where U: core::convert::TryFrom<T>
+pub type backer::NodeWith<State, Ctx>::Error = <U as core::convert::TryFrom<T>>::Error
+pub fn backer::NodeWith<State, Ctx>::try_into(self) -> core::result::Result<U, <U as core::convert::TryFrom<T>>::Error>
+impl<T> core::any::Any for backer::NodeWith<State, Ctx> where T: 'static + core::marker::Sized
+pub fn backer::NodeWith<State, Ctx>::type_id(&self) -> core::any::TypeId
+impl<T> core::borrow::Borrow<T> for backer::NodeWith<State, Ctx> where T: core::marker::Sized
+pub fn backer::NodeWith<State, Ctx>::borrow(&self) -> &T
+impl<T> core::borrow::BorrowMut<T> for backer::NodeWith<State, Ctx> where T: core::marker::Sized
+pub fn backer::NodeWith<State, Ctx>::borrow_mut(&mut self) -> &mut T
+impl<T> core::convert::From<T> for backer::NodeWith<State, Ctx>
+pub fn backer::NodeWith<State, Ctx>::from(t: T) -> T
+pub type backer::Node<State> = backer::NodeWith<State, ()> |
Closed
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
resolves #25 & #56