Skip to content

Commit ef00773

Browse files
authored
Fix types of inputs to nodes with a nested network implementation (#1978)
Fix types into nested networks
1 parent dd4a97b commit ef00773

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

editor/src/messages/portfolio/document/utility_types/network_interface.rs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -489,11 +489,11 @@ impl NodeNetworkInterface {
489489
if let Some(value) = node.inputs.get(input_index).and_then(|input| input.as_value()) {
490490
return Some((value.ty(), TypeSource::TaggedValue));
491491
}
492-
let node_id_path = [network_path, &[node_id]].concat().clone();
492+
let node_id_path = [network_path, &[node_id]].concat();
493493
match &node.implementation {
494494
DocumentNodeImplementation::Network(_nested_network) => {
495495
// Attempt to resolve where this import is within the nested network (it may be connected to the node or directly to an export)
496-
let outwards_wires = self.outward_wires(network_path);
496+
let outwards_wires = self.outward_wires(&node_id_path);
497497
let inputs_using_import = outwards_wires.and_then(|outwards_wires| outwards_wires.get(&OutputConnector::Import(input_index)));
498498
let first_input = inputs_using_import.and_then(|input| input.first()).copied();
499499

@@ -542,6 +542,7 @@ impl NodeNetworkInterface {
542542
return (concrete!(()), TypeSource::Error("node id not in network"));
543543
};
544544

545+
let node_id_path = [network_path.as_slice(), &[node_id]].concat();
545546
match &node.implementation {
546547
DocumentNodeImplementation::ProtoNode(protonode) => {
547548
let Some(node_types) = random_protonode_implementation(protonode) else {
@@ -559,7 +560,7 @@ impl NodeNetworkInterface {
559560
}
560561
DocumentNodeImplementation::Network(_network) => {
561562
// Attempt to resolve where this import is within the nested network
562-
let outwards_wires = self.outward_wires(network_path);
563+
let outwards_wires = self.outward_wires(&node_id_path);
563564
let inputs_using_import = outwards_wires.and_then(|outwards_wires| outwards_wires.get(&OutputConnector::Import(input_index)));
564565
let first_input = inputs_using_import.and_then(|input| input.first()).copied();
565566

0 commit comments

Comments
 (0)