-
Notifications
You must be signed in to change notification settings - Fork 1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support additional **kwargs
with default arguments in Transformer API.
#4890
Merged
tanujkhattar
merged 10 commits into
quantumlib:master
from
tanujkhattar:default_args_in_transformer_api
Jan 28, 2022
Merged
Support additional **kwargs
with default arguments in Transformer API.
#4890
tanujkhattar
merged 10 commits into
quantumlib:master
from
tanujkhattar:default_args_in_transformer_api
Jan 28, 2022
Conversation
This file contains 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
…ture, if provided
Updated to also change Fixes #4879 |
maffoo
reviewed
Jan 26, 2022
@maffoo This is ready for re-review. PTAL |
maffoo
approved these changes
Jan 27, 2022
tanujkhattar
added
automerge
Tells CirqBot to sync and merge this PR. (If it's running.)
front_of_queue_automerge
CirqBot uses this label to indicate (and remember) what's being merged next.
labels
Jan 28, 2022
Automerge cancelled: Failed to update branch (incorrect expected_head_sha). |
CirqBot
removed
automerge
Tells CirqBot to sync and merge this PR. (If it's running.)
front_of_queue_automerge
CirqBot uses this label to indicate (and remember) what's being merged next.
labels
Jan 28, 2022
rht
pushed a commit
to rht/Cirq
that referenced
this pull request
May 1, 2023
…PI. (quantumlib#4890) * Support additional **kwargs with default arguments in Transformer API. * Make context a keyword argument and use it's default value from signature, if provided * Make context an optional parameter with default value as None
harry-phasecraft
pushed a commit
to PhaseCraft/Cirq
that referenced
this pull request
Oct 31, 2024
…PI. (quantumlib#4890) * Support additional **kwargs with default arguments in Transformer API. * Make context a keyword argument and use it's default value from signature, if provided * Make context an optional parameter with default value as None
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.
Using the trick originally introduced in #4871 to check for type annotations only in the signature of
@cirq.transformer
, we are now able to support methods which take additional**kwargs
with a default value specified to be valid transformers.This makes the writing transformers of the following form possible, with type annotations correctly working at both the decorator level and at the call site where the transformer is called using **kwargs.
This is very useful as it gets rid of the originally discussed constraint of writing a transformer as a class only because it expects additional arguments which can't be supported due to limitations in mypy.
cc @maffoo #4483