fix(errors): drop skip_creator_parsing advice for positional-only params - #548
Merged
Merged
Conversation
There was a problem hiding this comment.
Benchmark
Details
| Benchmark suite | Current: e1c26fe | Previous: 8ce868f | Ratio |
|---|---|---|---|
benchmarks/test_guard_by_type.py::test_g16_resolve_by_type |
3569972.1503107846 iter/sec (stddev: 1.5494445783145778e-8) |
3442054.526547969 iter/sec (stddev: 2.143375745788722e-8) |
0.96 |
benchmarks/test_guard_by_type.py::test_g17_resolve_by_type_large_registry |
3675655.8628954412 iter/sec (stddev: 1.0900457024057369e-8) |
3548434.840392541 iter/sec (stddev: 1.2827232048867815e-8) |
0.97 |
benchmarks/test_guard_cold.py::test_g8_cold_first_resolve |
15544.078749505006 iter/sec (stddev: 0.00005033834954918549) |
15518.545714422256 iter/sec (stddev: 0.00004698793690022765) |
1.00 |
benchmarks/test_guard_cold.py::test_g8b_cold_first_resolve_cached |
13059.581514434542 iter/sec (stddev: 0.00013353950293183494) |
13185.693699108479 iter/sec (stddev: 0.00010949077679688568) |
1.01 |
benchmarks/test_guard_concurrency.py::test_g14_concurrent_cached_hit[1] |
345.34058350643517 iter/sec (stddev: 0.00004055061916285414) |
404.3230311283974 iter/sec (stddev: 0.00007048845657185601) |
1.17 |
benchmarks/test_guard_concurrency.py::test_g14_concurrent_cached_hit[2] |
332.9702149133916 iter/sec (stddev: 0.00004355040471478122) |
383.4654873688378 iter/sec (stddev: 0.000046998100263502144) |
1.15 |
benchmarks/test_guard_concurrency.py::test_g14_concurrent_cached_hit[4] |
314.0655296058114 iter/sec (stddev: 0.000038755247073442534) |
352.2463486495161 iter/sec (stddev: 0.00009127243270054909) |
1.12 |
benchmarks/test_guard_concurrency.py::test_g15_concurrent_first_resolve[1] |
1588.4221603106616 iter/sec (stddev: 0.0001834316476371474) |
1626.7073683300935 iter/sec (stddev: 0.0001986442227433345) |
1.02 |
benchmarks/test_guard_concurrency.py::test_g15_concurrent_first_resolve[2] |
1288.6711693232185 iter/sec (stddev: 0.0002188524151275646) |
1327.7632191013151 iter/sec (stddev: 0.00017288226483966492) |
1.03 |
benchmarks/test_guard_concurrency.py::test_g15_concurrent_first_resolve[4] |
940.5024585788044 iter/sec (stddev: 0.00022056601928849807) |
960.0010675205933 iter/sec (stddev: 0.00017975799786761426) |
1.02 |
benchmarks/test_guard_concurrency.py::test_g15b_concurrent_first_resolve_sibling_children[1] |
1374.3536515012963 iter/sec (stddev: 0.0011070350239969046) |
1407.057453110696 iter/sec (stddev: 0.0010831166068909466) |
1.02 |
benchmarks/test_guard_concurrency.py::test_g15b_concurrent_first_resolve_sibling_children[2] |
1185.7698839239843 iter/sec (stddev: 0.00020215614254054) |
1175.7928128429965 iter/sec (stddev: 0.00021455490282242838) |
0.99 |
benchmarks/test_guard_concurrency.py::test_g15b_concurrent_first_resolve_sibling_children[4] |
778.1712788184489 iter/sec (stddev: 0.00021488662164968644) |
784.9046406926733 iter/sec (stddev: 0.00021119103540343572) |
1.01 |
benchmarks/test_guard_lifecycle.py::test_g6_build_child_container |
796539.656494995 iter/sec (stddev: 8.011063330980443e-8) |
826944.4808698264 iter/sec (stddev: 4.169575359621365e-8) |
1.04 |
benchmarks/test_guard_lifecycle.py::test_g6b_build_child_container_auto_scope |
747572.5012636248 iter/sec (stddev: 3.221394233493295e-8) |
754895.2503574233 iter/sec (stddev: 3.0409338412035246e-8) |
1.01 |
benchmarks/test_guard_lifecycle.py::test_g7_request_lifecycle_batch |
2431.4785084129617 iter/sec (stddev: 0.000012488611974332034) |
2421.0815300750833 iter/sec (stddev: 0.000020424490014428993) |
1.00 |
benchmarks/test_guard_lifecycle.py::test_g7c_event_loop_floor_control |
57529.847612067155 iter/sec (stddev: 0.0000017872600510757674) |
58408.76624586848 iter/sec (stddev: 0.0000018447825779836061) |
1.02 |
benchmarks/test_guard_lifecycle.py::test_g13_teardown_at_scale |
42945.49700083617 iter/sec (stddev: 0.0000020475882427175123) |
43876.32191693938 iter/sec (stddev: 0.0000021012125198676007) |
1.02 |
benchmarks/test_guard_lifecycle.py::test_g13b_teardown_at_scale_async_no_finalizers |
563.9215062472709 iter/sec (stddev: 0.00005542602302767615) |
553.8315819315635 iter/sec (stddev: 0.00011049984251667817) |
0.98 |
benchmarks/test_guard_resolve.py::test_g1_transient_resolve |
1900274.632422568 iter/sec (stddev: 1.3686158160282804e-7) |
2179414.0503717246 iter/sec (stddev: 3.2116689283894473e-8) |
1.15 |
benchmarks/test_guard_resolve.py::test_g2_cached_resolve |
2899247.3002947364 iter/sec (stddev: 4.8477024749926025e-8) |
3331944.800863088 iter/sec (stddev: 1.8996420430089775e-8) |
1.15 |
benchmarks/test_guard_resolve.py::test_g3_deep_chain |
752708.5558763844 iter/sec (stddev: 4.0035094894919106e-8) |
728489.2646086639 iter/sec (stddev: 6.251243141025456e-8) |
0.97 |
benchmarks/test_guard_resolve.py::test_g4_wide_resolve |
444608.44568234106 iter/sec (stddev: 3.1322811703966714e-7) |
468680.21058674285 iter/sec (stddev: 3.2602527219035675e-7) |
1.05 |
benchmarks/test_guard_resolve.py::test_g5_cross_scope |
1907910.775202175 iter/sec (stddev: 3.479432838538956e-8) |
1866879.1921924949 iter/sec (stddev: 3.339221547534178e-8) |
0.98 |
benchmarks/test_guard_resolve.py::test_g9_context_resolve |
1056971.72737985 iter/sec (stddev: 1.41289514972713e-7) |
1052288.8650783815 iter/sec (stddev: 1.333290563243788e-7) |
1.00 |
benchmarks/test_guard_resolve.py::test_g12_override_active_resolve |
738354.8155178382 iter/sec (stddev: 3.8913936358735685e-8) |
720244.7622185523 iter/sec (stddev: 6.1118782837122e-8) |
0.98 |
benchmarks/test_guard_resolve.py::test_g18_alias_hop |
1848670.1194007634 iter/sec (stddev: 2.3468255093165935e-8) |
1889630.0710914063 iter/sec (stddev: 4.658060565489605e-8) |
1.02 |
benchmarks/test_guard_validate.py::test_g10_validate_deep_chain |
22732.44108541361 iter/sec (stddev: 0.00002673276849368589) |
22333.268360870607 iter/sec (stddev: 0.00003390432019260961) |
0.98 |
benchmarks/test_guard_validate.py::test_g11_validate_wide |
14042.647097976584 iter/sec (stddev: 0.000026936938996214267) |
14119.363707672732 iter/sec (stddev: 0.000028698284721104412) |
1.01 |
This comment was automatically generated by workflow using github-action-benchmark.
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.
UnsupportedCreatorParameterErrorfor a positional-only parameter without a default told users to "give the parameter a default or use skip_creator_parsing=True". The second option does not work: withskip_creator_parsing=Truethe provider raisesCreatorCallErrorat resolve, with or withoutkwargs, because the creator is always called ascreator(**kwargs)and a positional-only parameter cannot be bound by keyword. Giving the parameter a default is the only advice that works, so the message now says only that.Found while fixing
docs/troubleshooting/unsupported-creator-parameter-error.mdin #547.Other branches checked:
skip_creator_parsingmention intypes_parser.pyis the type-hints-resolution warning, where it is advice for silencing the warning. That is correct and left as is.Test:
test_positional_only_param_raises_at_declarationnow asserts the message does not mentionskip_creator_parsing(failed before the fix).