Skip to content

Use TypeGuard in IsImplementation#92

Draft
nicoddemus wants to merge 1 commit into
masterfrom
type-guard
Draft

Use TypeGuard in IsImplementation#92
nicoddemus wants to merge 1 commit into
masterfrom
type-guard

Conversation

@nicoddemus

@nicoddemus nicoddemus commented Mar 13, 2023

Copy link
Copy Markdown
Member

However due to python/mypy#4717, this breaks IsImplemenation with errors like this one:

Only concrete class can be given where "Type[_InterfM3]" is expected  [type-abstract]

Which is unfortunate.

Leaving this here in the hopes we can merge it once python/mypy#4717 gets fixed.

src/oop_ext/foundation/_tests/test_weak_ref.py:323: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs  [annotation-unchecked]
src/oop_ext/interface/_tests/test_interface.py:401: error: Only concrete class can be given where "Type[_InterfM3]" is expected  [type-abstract]
src/oop_ext/interface/_tests/test_interface.py:404: error: Only concrete class can be given where "Type[_InterfM3]" is expected  [type-abstract]
src/oop_ext/interface/_tests/test_interface.py:405: error: Only concrete class can be given where "Type[_InterfM4]" is expected  [type-abstract]
src/oop_ext/interface/_tests/test_interface.py:408: error: Only concrete class can be given where "Type[_InterfM4]" is expected  [type-abstract]
src/oop_ext/interface/_tests/test_interface.py:409: error: Only concrete class can be given where "Type[_InterfM3]" is expected  [type-abstract]
src/oop_ext/interface/_tests/test_interface.py:413: error: Only concrete class can be given where "Type[_InterfM4]" is expected  [type-abstract]
src/oop_ext/interface/_tests/test_interface.py:414: error: Only concrete class can be given where "Type[_InterfM3]" is expected  [type-abstract]
src/oop_ext/interface/_tests/test_interface.py:419: error: Only concrete class can be given where "Type[_InterfM1]" is expected  [type-abstract]
src/oop_ext/interface/_tests/test_interface.py:447: error: Only concrete class can be given where "Type[_InterfM1]" is expected  [type-abstract]
src/oop_ext/interface/_tests/test_interface.py:450: error: Only concrete class can be given where "Type[_InterfM1]" is expected  [type-abstract]
src/oop_ext/interface/_tests/test_interface.py:463: error: Only concrete class can be given where "Type[_InterfM1]" is expected  [type-abstract]
src/oop_ext/interface/_tests/test_interface.py:609: error: Only concrete class can be given where "Type[_InterfM3]" is expected  [type-abstract]
src/oop_ext/interface/_tests/test_interface.py:610: error: Only concrete class can be given where "Type[_InterfM3]" is expected  [type-abstract]
Found 13 errors in 1 file (checked 40 source files)
@sonarqubecloud

Copy link
Copy Markdown
However due to python/mypy#4717, this breaks
IsImplemenation with errors like this one:

   Only concrete class can be given where "Type[_InterfM3]" is expected  [type-abstract]

Which is unfortunate.
@sonarqubecloud

Copy link
Copy Markdown

Kudos, SonarCloud Quality Gate passed!    Quality Gate passed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 0 Code Smells

No Coverage information No Coverage information
0.0% 0.0% Duplication

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

1 participant