Skip to content

Commit d2d67df

Browse files
committed
Fix tests
1 parent 1cf8f7f commit d2d67df

File tree

2 files changed

+26
-3
lines changed

2 files changed

+26
-3
lines changed

node-graph/gcore/src/structural.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -128,11 +128,11 @@ impl<'i, Root: Node<'i, I>, I: 'i + From<()>> ConsNode<I, Root> {
128128
mod test {
129129
use super::*;
130130
use crate::generic::FnNode;
131-
use crate::value::ClonedNode;
131+
use crate::value::ValueRefNode;
132132

133133
#[test]
134134
fn compose() {
135-
let value = ClonedNode::new(4u32);
135+
let value = ValueRefNode::new(4u32);
136136
let compose = value.then(FnNode::new(|x| x));
137137
assert_eq!(compose.eval(()), &4u32);
138138
let type_erased = &compose as &dyn Node<'_, (), Output = &'_ u32>;
@@ -141,7 +141,7 @@ mod test {
141141

142142
#[test]
143143
fn test_ref_eval() {
144-
let value = ClonedNode::new(5);
144+
let value = ValueRefNode::new(5);
145145

146146
assert_eq!(value.eval(()), &5);
147147
let id = FnNode::new(|x| x);

node-graph/gcore/src/value.rs

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,29 @@ impl<'i, const N: u32, I> Node<'i, I> for IntNode<N> {
1313
}
1414
}
1515

16+
#[derive(Default, Debug, Clone, Copy)]
17+
pub struct ValueRefNode<T>(pub T);
18+
19+
impl<'i, T: 'i, I> Node<'i, I> for ValueRefNode<T> {
20+
type Output = &'i T;
21+
#[inline(always)]
22+
fn eval(&'i self, _input: I) -> Self::Output {
23+
&self.0
24+
}
25+
}
26+
27+
impl<T> ValueRefNode<T> {
28+
pub const fn new(value: T) -> ValueRefNode<T> {
29+
ValueRefNode(value)
30+
}
31+
}
32+
33+
impl<T> From<T> for ValueRefNode<T> {
34+
fn from(value: T) -> Self {
35+
ValueRefNode::new(value)
36+
}
37+
}
38+
1639
#[derive(Default, Debug, Clone, Copy)]
1740
pub struct AsRefNode<T: AsRef<U>, U>(pub T, PhantomData<U>);
1841

0 commit comments

Comments
 (0)