[PROF-5808] Add ENFORCE_TYPE
as user-friendly alternative to Check_Type
#2156
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.
Motivation:
While investigating #2151, I realized that
Check_Type
's error message:TypeError: wrong argument type nil (expected String)
is very hard to debug in functions that do manyCheck_Type
verifications (such as_native_do_export
).What does this PR do?:
To fix this, I've created a new
ENFORCE_TYPE
helper which behaves similarly, but generates error messages such as:Hopefully this message will help us get to the bottom of the issue.
I've modified every other use of
Check_Type
in the profiling native extension to use this new helper, in case we need to debug similar issues in the future.Additional notes:
This PR is on top of #2152 to facilitate testing both together, but is otherwise independent.
How to test the change?:
Existing tests should already cover this. To trigger the issue manually, use for instance:
Issue #2151