Rework typechecking of optional/nonempty quantifiers #52
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.
Removes a few awkward workarounds / special cases for static validation of optional & nonempty type compatibility. They are now checked more rigorously by default, so for example any use of
T?
whereT
is expected requires an explicit coercion such as withselect_first()
. But to accommodate older WDLs which depend on less strictness, supplyingWDL.load(..., check_quant=False)
relaxes these static validation checks.The WDL specification is vague as to how strict this typechecking should be; this compromise should let us accommodate older WDLs without necessarily reproducing every detail of what Cromwell does and doesn't enforce for different language versions