Try improving the compiler error messages when calling cudaq::sample
with incorrect kernel arguments
#827
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.
Description
Although C++
concept
generates much better error messages, it seems to be not as user-friendly as we want.e.g., see https://gist.github.com/anthony-santana/d394888ad14853fe5825a59bd4d518f5
This PR attempted to address that:
Provide a 'catching' match (when the expected
ValidArgumentsPassed
failed) in order to customize the error message (via astatic_assert
message).Construct the error message via compile-time (
constexpr
) code.The error message will look like
static assertion failed due to requirement 'InvalidArgs<cudaq::Msg<25>{"requires <double>, got <>"}>'
.