mirror of
https://github.com/GraphiteEditor/Graphite.git
synced 2026-09-16 06:38:03 +08:00
Fix formatting of previous commit
This commit is contained in:
@@ -7,43 +7,43 @@ use dyn_any::{DynAny, StaticType, StaticTypeSized};
|
||||
pub struct AnyRefNode<'n, N: Node<'n>>(N, PhantomData<&'n ()>);
|
||||
|
||||
impl<'n, N: Node<'n, Output = &'n O>, O: DynAny<'n> + 'n> Node<'n> for AnyRefNode<'n, N> {
|
||||
type Output = &'n (dyn DynAny<'n>);
|
||||
fn eval(&'n self) -> Self::Output {
|
||||
let value: &O = self.0.eval();
|
||||
value
|
||||
}
|
||||
type Output = &'n (dyn DynAny<'n>);
|
||||
fn eval(&'n self) -> Self::Output {
|
||||
let value: &O = self.0.eval();
|
||||
value
|
||||
}
|
||||
}
|
||||
impl<'n, N: Node<'n, Output = &'n O>, O: 'n + ?Sized> AnyRefNode<'n, N> {
|
||||
pub fn new(n: N) -> AnyRefNode<'n, N> {
|
||||
AnyRefNode(n, PhantomData)
|
||||
}
|
||||
pub fn new(n: N) -> AnyRefNode<'n, N> {
|
||||
AnyRefNode(n, PhantomData)
|
||||
}
|
||||
}
|
||||
|
||||
pub struct StorageNode<'n>(&'n dyn Node<'n, Output = &'n dyn DynAny<'n>>);
|
||||
|
||||
impl<'n> Node<'n> for StorageNode<'n> {
|
||||
type Output = &'n (dyn DynAny<'n>);
|
||||
fn eval(&'n self) -> Self::Output {
|
||||
self.0.eval()
|
||||
}
|
||||
type Output = &'n (dyn DynAny<'n>);
|
||||
fn eval(&'n self) -> Self::Output {
|
||||
self.0.eval()
|
||||
}
|
||||
}
|
||||
impl<'n> StorageNode<'n> {
|
||||
pub fn new<N: Node<'n, Output = &'n dyn DynAny<'n>>>(n: &'n N) -> StorageNode<'n> {
|
||||
StorageNode(n)
|
||||
}
|
||||
pub fn new<N: Node<'n, Output = &'n dyn DynAny<'n>>>(n: &'n N) -> StorageNode<'n> {
|
||||
StorageNode(n)
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Default)]
|
||||
pub struct AnyValueNode<'n, T>(T, PhantomData<&'n ()>);
|
||||
impl<'n, T: 'n + DynAny<'n>> Node<'n> for AnyValueNode<'n, T> {
|
||||
type Output = &'n dyn DynAny<'n>;
|
||||
fn eval(&'n self) -> &'n dyn DynAny<'n> {
|
||||
&self.0
|
||||
}
|
||||
type Output = &'n dyn DynAny<'n>;
|
||||
fn eval(&'n self) -> &'n dyn DynAny<'n> {
|
||||
&self.0
|
||||
}
|
||||
}
|
||||
|
||||
impl<'n, T> AnyValueNode<'n, T> {
|
||||
pub const fn new(value: T) -> AnyValueNode<'n, T> {
|
||||
AnyValueNode(value, PhantomData)
|
||||
}
|
||||
pub const fn new(value: T) -> AnyValueNode<'n, T> {
|
||||
AnyValueNode(value, PhantomData)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user