Conversation
lekcyjna123
reviewed
Oct 28, 2023
Contributor
There was a problem hiding this comment.
I have mixed feelings. I like the simplicity of interface and the reduction of boilerplate. But we are loosing consistency. Earlier everywhere first argument had to be TModule. Now in transformer API it wouldn't be needed, but e.g. in method calls it will be still required. Nevertheless I am ready to approve such changes.
| return func # type: ignore | ||
|
|
||
|
|
||
| def def_helper(description, func: Callable[..., T], tp: type[U], arg: U, /, **kwargs) -> T: |
Contributor
There was a problem hiding this comment.
Shouldn't be func annotated as CallableOptParam? I have the same question regarding mock_def_helper and method_def_helper.
Member
Author
There was a problem hiding this comment.
It could, but it basically changes nothing because of the ... parameter specification.
Member
Author
I think we are actually gaining consistency, as:
Also:
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
This PR utilizes
def_helpermechanisms to create a nicer API for using transformers. Following changes in interpreting the function arguments of the transformer classes are made:arg) the functions can take individual record fields, just like methods defined viadef_method.Also, specializations of
def_helperwere moved closer to their use sites, so that the dependencies on types would resolve correctly. If someone has a better idea, I'd like to hear it.To do: