fix: speed up assert default details case #1503
Merged
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.
Pick the lowest hanging performance fruit.
In general we try to avoid the
style, and use instead
However, sometimes we are confident enough that the failure can never happen that we do not bother with the details (the
part). This happens often when we're just doing the assertion to inform the type checker of something we believe to be true. For these cases, we often write
Yes, the success case is slower than the
|| Fail
pattern by a function call. But the success case should not be more slower than that. It was, due to a completely unnecessary function call within the default argument forassert
's optional second parameter.Also fixed: The optional third parameter also happened to be doing work that was unneeded in the success case.