Conversation
It's valid for an input to be modified causing a downstream input to be removed (for example a syntax tree can change what is in it, leading to the downstream node not generating something). //cc @jkoritzinsky in case I'm missing something obvious.
|
I've had a PR open to fix this exact issue for a while (including a test): #60759 If we merge this PR, can we add the test from my PR? |
|
Crashes for |
|
@RikkiGibson, @cston PTAL |
|
Note: still needs the line added for |
|
Seems like we should also follow the suggestion in #61308 (comment) here. |
|
Let's add a test (seems there's one in PR https://github.com/dotnet/roslyn/pull/60759/files) |
|
|
||
| values = ImmutableArray.Create(1, 2, 3); | ||
|
|
||
| // second time we'll see that the "Input" step is modified, but the outputs of the "SelectMany" step are removed. |
|
CI weirdness caused one Job to run twice. One passing and one failing. Once artifacts are published for a passing job it cannot be run again, meaning we can't get both jobs passing. Force merging. |
The `(EntryState.Modified, EntryState.Added) => IncrementalStepRunReason.Modified` state mapping was recently added in dotnet#61308, but doesn't look correct to me. Since this value is used as the output status, and the outputs are new, I believe the correct state should be `IncrementalStepRunReason.New` instead.
* Record added node output states as new The `(EntryState.Modified, EntryState.Added) => IncrementalStepRunReason.Modified` state mapping was recently added in #61308, but doesn't look correct to me. Since this value is used as the output status, and the outputs are new, I believe the correct state should be `IncrementalStepRunReason.New` instead. * Update tests that were added since I originally implemented the change * Update documentation for IncrementalStepRunReason * Update VB tests also * Add note about breaking changes with IncrementalStepRunReason --------- Co-authored-by: Jan Jones <janjones@microsoft.com>
It's valid for an input to be modified causing a downstream input to be removed (for example a syntax tree can change what is in it, leading to the downstream node not generating something).
//cc @jkoritzinsky in case I'm missing something obvious.