DYN-10572: Revert Honor per-port Use Levels on variadic DSVarArgFunction nodes (#17147)#17189
DYN-10572: Revert Honor per-port Use Levels on variadic DSVarArgFunction nodes (#17147)#17189jasonstratton wants to merge 2 commits into
Conversation
…tion nodes (DynamoDS#17147)" This reverts commit 6abaaac.
There was a problem hiding this comment.
See the ticket for this pull request: https://jira.autodesk.com/browse/DYN-10572
There was a problem hiding this comment.
Pull request overview
This PR reverts the earlier attempt to honor per-port Use Levels / replication guides on variadic DSVarArgFunction nodes, since the prior implementation was ineffective in ProtoCore and introduced failing tests on master. The revert removes the associated AST wrapping logic, the public API hook, and the newly-added failing test coverage/data graphs to unblock CI.
Changes:
- Reverted variadic pre-pack
AtLevel/ replication-guide wrapping inZeroTouchVarArgNodeController.BuildOutputAst. - Reverted the
NodeModelhook and logic that boundedUseLevelAndReplicationGuidefor variadic nodes, and removed the corresponding PublicAPI entry. - Removed the failing NUnit tests and their
.dyntest graphs that depended on the reverted behavior.
Reviewed changes
Copilot reviewed 9 out of 9 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| test/DynamoCoreTests/Nodes/StringTests.cs | Removes the newly-added failing String.Concat / String.Join Use Levels tests introduced by the reverted PR. |
| test/DynamoCoreTests/Nodes/ListTests.cs | Removes the newly-added failing List.Join Use Levels test introduced by the reverted PR. |
| test/core/string/TestJoinStringUseLevelsOnVariadicPort.dyn | Deletes the test graph used by the removed String.Join Use Levels test. |
| test/core/string/TestConcatStringUseLevels.dyn | Deletes the test graph used by the removed String.Concat Use Levels test. |
| test/core/string/TestConcatStringNestedListIndependence.dyn | Deletes the test graph used by the removed String.Concat rank-independence test. |
| test/core/list/TestListJoinUseLevelsOnVariadicPort.dyn | Deletes the test graph used by the removed List.Join Use Levels test. |
| src/DynamoCore/PublicAPI.Unshipped.txt | Removes the unshipped public API entry for the reverted NodeModel hook. |
| src/DynamoCore/Graph/Nodes/ZeroTouch/DSVarArgFunction.cs | Reverts variadic input wrapping logic back to packing inputs into an ExprListNode only. |
| src/DynamoCore/Graph/Nodes/NodeModel.cs | Reverts bounded wrapping logic back to applying UseLevelAndReplicationGuide across all inputs. |
| var paramCount = Definition.Parameters.Count(); | ||
|
|
||
| // Suppose a function foo() with var args, its signature is: | ||
| // Suppose a fucntion foo() with var args, its signature is: |
|
Closing based on https://autodesk.slack.com/archives/C08AMP1A7AB/p1782191566153869 |
|




Purpose
Reverts #17147 (DYN-10572: Honor per-port Use Levels on variadic DSVarArgFunction nodes).
The implementation in #17147 applied
AtLevel/ replication-guide annotations to variadic inputs before packing them into anExprListNode. Investigation revealed thatProtoCore'sCodeGen.EmitExprListNodeunconditionally suppresses per-element replication guide emission (emitReplicationGuide = false) — so the annotations are never emitted and the fix has no effect. The three newStringTestsand oneListTeststest added by that PR have been failing on every master build since #17147 merged.A correct fix requires a targeted change in
ProtoCore/CodeGen.csto lift that suppression for variadic-packed arrays, which will be addressed in a follow-up PR.Declarations
Check these if you believe they are true
Release Notes
N/A — reverts an implementation that was never functional; no user-visible behavior change.
Reviewers
(FILL ME IN)
FYIs
Unblocks master CI — builds 3719–3721 have been failing with 3
DynamoCoreTestsfailures introduced by #17147.