Resolved types for the Import node (which is derived from the parent node) are not available for hidden node inputs. This is because although the hidden Type's are stored in the TypingContext, the document_node_types(&self) -> ResolvedDocumentNodeTypes function only gets types for inputs in the BorrowTree inputs_source_map. To fix this, all inputs need to be added to the inputs_source_map. I believe this will require a rework to how exposed inputs are handled. Is there even a reason to consider whether the input is hidden when compiling into proto nodes? Hiding an input is a UI only concept, the value node still has the same functionality.
This image shows the error. The Type is a (Concrete(())->Concrete(bool)), and is correctly passed to the next node, but it is displayed as General
I think this is purely visual, and doesn't affect any functionality. There is also some strange behavior where the last type becomes the type for the first hidden. In this example the location input has resolved type Concrete(())->Concrete(bool).
Resolved types for the Import node (which is derived from the parent node) are not available for hidden node inputs. This is because although the hidden
Type
's are stored in theTypingContext
, thedocument_node_types(&self) -> ResolvedDocumentNodeTypes
function only gets types for inputs in theBorrowTree
inputs_source_map. To fix this, all inputs need to be added to the inputs_source_map. I believe this will require a rework to how exposed inputs are handled. Is there even a reason to consider whether the input is hidden when compiling into proto nodes? Hiding an input is a UI only concept, the value node still has the same functionality.This image shows the error. The Type is a
(Concrete(())->Concrete(bool))
, and is correctly passed to the next node, but it is displayed as GeneralI think this is purely visual, and doesn't affect any functionality. There is also some strange behavior where the last type becomes the type for the first hidden. In this example the location input has resolved type Concrete(())->Concrete(bool).