-
Notifications
You must be signed in to change notification settings - Fork 2.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
feat(types) C++ int and bool Literals in Python Literal Type #5463
Open
InvincibleRMC
wants to merge
20
commits into
pybind:master
Choose a base branch
from
InvincibleRMC:C++-int-and-bool-Literal-Types
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
20 commits
Select commit
Hold shift + click to select a range
c5fd1cf
init
InvincibleRMC d121043
style: pre-commit fixes
pre-commit-ci[bot] 06c1017
Merge branch 'master' into C++-int-and-bool-Literal-Types
InvincibleRMC ce2b35f
fix numpy, eigen
InvincibleRMC c3f8129
add guard
InvincibleRMC 16934a7
fix #else
InvincibleRMC 7f8eaf0
fix backwards compatibly const_name()
InvincibleRMC 5c9b849
style: pre-commit fixes
pre-commit-ci[bot] 96bee07
test hex support
InvincibleRMC bae6ce2
remove auto on StrLit case
InvincibleRMC e108cdf
add test
InvincibleRMC 97c0414
style: pre-commit fixes
pre-commit-ci[bot] c7a4ea4
test instantiation
InvincibleRMC ecfbea8
style: pre-commit fixes
pre-commit-ci[bot] 0ed82c4
test with is_integral
InvincibleRMC 2fb0067
style: pre-commit fixes
pre-commit-ci[bot] 8799090
fix docstring
InvincibleRMC 89e3dec
update TypeVar<"T">
InvincibleRMC 3fd0113
fix hex number
InvincibleRMC 046277e
Merge remote-tracking branch 'origin/master' into C++-int-and-bool-Li…
InvincibleRMC File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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
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
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
Oops, something went wrong.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just skimming over this, but would a simple string literal than have to use:
py::typing::Literal<py::typing::StringLiteral("hello")>
?Would be nice if strings could be used directly.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What could be done I believe is only allow each Literal of the same type. Then I don't think you would need the
py::typing::Literal<py::typing::StringLiteral("hello")>
however, you wouldn't be able to mix non-type templates inside Literals and would need to use Unions.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
After messing around with various solutions the only one I could get working is make different named literals.
To avoid confusion if we wanted to move forward with this the current
typing::StringLiteral
would be change totyping::fixed_string
.