Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Resolves #3090.
I was able to reproduce the error using a minimal example inferred by code provided by the issue author:
raises
The apparent error was
NoUpdatewas being blamed for not being JSON serializable, even though theAssertionErroroutput was to blame. The root cause ended up beingNoUpdatewas not deemed to be a valid prop by bothvalid_propsandvalid_childrenwithin_validate.fail_callback_output.If the error-causing output was placed before the
NoUpdateoutputs in the return, the correct error message would have been displayed.E.g.
raises
This PR adds
NoUpdatetovalid_propsandvalid_children, which results in the expected error.One open question is the meaningful location for the
NoUpdatedefinition. I made a new_no_updatemodule, which seems like overkill, but I did not see a better place and importing_callbackinto_validateresorts in a circular dependency.Side note: hello
NoUpdateagain, my old friend :)