Michael Carlstrom
08f946a431
fix: add guard for GCC <10.3 on C++20 ( #5205 )
...
* Update CI
* update define guard
* style: pre-commit fixes
* updated define guard
* style: pre-commit fixes
* update guard
* testing new guards
* update guards
* surely this time
* style: pre-commit fixes
* Define PYBIND11_TYPING_H_HAS_STRING_LITERAL to avoid repeating a complex expression.
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Ralf W. Grosse-Kunstleve <rwgk@google.com>
2024-06-27 22:20:28 -07:00
Michael Carlstrom
4bd538a40a
feat(types): add support for Typing.Callable Special Case ( #5202 )
...
* Add special case
* linty
2024-06-26 16:34:06 -04:00
Michael Carlstrom
2be85c6041
feat(types): adds support for TypeGuard and TypeIs ( #5194 )
...
* Adds support for TypeGuard and TypeIs
* style: pre-commit fixes
---------
Co-authored-by: Henry Schreiner <HenrySchreinerIII@gmail.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-06-25 22:53:15 -04:00
Michael Carlstrom
26281c7986
feat(types): adds support for Never and NoReturn from python Typing ( #5193 )
...
* Adds support for Never and NoReturn
* lint
2024-06-25 21:10:25 -04:00
Michael Carlstrom
183059f9a4
feat(types): add support for typing.Literal type ( #5192 )
...
* typevar prototype
* style: pre-commit fixes
* change to NameT
* style: pre-commit fixes
* make string const
* add missing closing bracket
* style: pre-commit fixes
* clean up handle_type_name
* style: pre-commit fixes
* add back missing <
* style: pre-commit fixes
* add back NameT
* try fixed_string
* style: pre-commit fixes
* std::basic_fixed_string
* test c++20
* style: pre-commit fixes
* cleanup
* fix object to typevar conversion
* style: pre-commit fixes
* And CPP20 checks
* style: pre-commit fixes
* add missing cpp20++ check
* style: pre-commit fixes
* Add C++20 check to python
* Fix python if {
* style: pre-commit fixes
* update test name
* style: pre-commit fixes
* remove call on cpp_std
* make field const
* test nontype_template
* update feature check
* update name of guard
* fix try except in test
* fix pre commit
* remove extra semi colon
* except AttributeError
* fix try except in test
* remove const
* Clean up tests
* style: pre-commit fixes
* start string literal
* start int literal
* func declare
* commit clean
* use contextlib.suppres
* resolve stash
* more literal type
* fix annotation name
* stash
* request changes
* lint
* Add comments
* style: pre-commit fixes
* Add support for unions and optionals to be compatible with object
* lint
* remove comment
* Create Literal Type implementation
* clean up
* Update comment
* remove incorrect comment
* rerun CI
* rerun CI
* fix extra line
* lint
* move if defined block
* style: pre-commit fixes
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-06-25 17:57:34 -04:00
Michael Carlstrom
aebcd704d2
Add TypeVars / method generics typing ( #5167 )
...
* typevar prototype
* style: pre-commit fixes
* change to NameT
* style: pre-commit fixes
* make string const
* add missing closing bracket
* style: pre-commit fixes
* clean up handle_type_name
* style: pre-commit fixes
* add back missing <
* style: pre-commit fixes
* add back NameT
* try fixed_string
* style: pre-commit fixes
* std::basic_fixed_string
* test c++20
* style: pre-commit fixes
* cleanup
* fix object to typevar conversion
* style: pre-commit fixes
* And CPP20 checks
* style: pre-commit fixes
* add missing cpp20++ check
* style: pre-commit fixes
* Add C++20 check to python
* Fix python if {
* style: pre-commit fixes
* update test name
* style: pre-commit fixes
* remove call on cpp_std
* make field const
* test nontype_template
* update feature check
* update name of guard
* fix try except in test
* fix pre commit
* remove extra semi colon
* except AttributeError
* fix try except in test
* remove const
* Clean up tests
* style: pre-commit fixes
* use contextlib.suppres
* request changes
* lint
* Add comments
* style: pre-commit fixes
* Add support for unions and optionals to be compatible with object
* lint
* remove comment
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-06-25 16:25:40 -04:00
Michael Carlstrom
7c4ac91d75
Add type[T] support to typing.h ( #5166 )
...
* add type[T]
* style: pre-commit fixes
* fix merge
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-06-15 06:25:43 -07:00
Michael Carlstrom
68405a1141
Add Union and Optional to typing.h ( #5165 )
...
* add type unions and optionals
* add type inheritance
* style: pre-commit fixes
* switch to inheriting from object
* style: pre-commit fixes
* fix text case
* style: pre-commit fixes
* fix bind call
* fix function name
* add std::move for older code
* remove std::move
* move away from object creation
* style: pre-commit fixes
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-06-14 21:16:26 -07:00
Matthias Volk
67c9c5687b
fix: fully qualify usages of concat to protect against ADL ( #4955 )
...
* Call concat with proper namespace in cast.h
* Apply suggestions from code review
* tests: add test for ADL on concat
Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
* fix: fully qualify all usages of concat
Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
---------
Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
Co-authored-by: Henry Schreiner <HenrySchreinerIII@gmail.com>
2024-03-27 16:51:03 -04:00
Jason Watson
65370f330e
Create handle_type_name specialization to type-hint variable length tuples ( #5051 )
2024-03-21 03:24:19 -04:00
Sergei Izmailov
8c7b8dd0ae
fix: Missing typed variants of iterator and iterable ( #4832 )
2023-09-12 12:48:27 -07:00
Dustin Spicuzza
f8703154ec
Provide better type hints for a variety of generic types ( #4259 )
...
* Provide better type hints for a variety of generic types
* Makes better documentation
* tuple, dict, list, set, function
* Move to py::typing
* style: pre-commit fixes
* Update copyright line with correct year and actual author. The author information was copy-pasted from the git log output.
---------
Co-authored-by: Ralf W. Grosse-Kunstleve <rwgk@google.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2023-08-03 22:48:57 -07:00