You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
fix(protocols): resolve a str enum name against its own make() argument rather than raising on a shared name #1308
Describe the bug
After #1227, _make_index infers a str member name's enum from the caller's argument that holds that name. When two enum arguments hold the same name, it applies a strict rule: every candidate enum must have the name, with one agreed value. That rule raises where each argument could simply resolve against its own enum.
To Reproduce IPv4(tos_thr='LOW', tos_thr_default=1) falls back to the default, as it does on main. Adding tos_del='LOW' makes the same call raise ambiguous member name 'LOW'. The hint in that message suggests tos_thr_namespace=, which cannot help, because ToSThroughput has no LOW.
Expected behavior
Each _make_index call resolves against its own argument. All 111 call sites pass a plain name as the first argument, so the helper can identify that argument, for example from the enclosing call's line range via ast, or by being passed the argument name. The value-conflict branch, which never fires today, then becomes unnecessary.
Activity
JarryShaw commentedon Oct 7, 2026
Blocked until #1227 merges, because both edit
_make_indexinprotocols/protocol.py.JarryShaw commentedon Oct 7, 2026
Unblocked: #1227 merged at 19:06Z, so the file conflict is gone. Back to
pendinguntil a worker picks it up.fix(protocol): raw items in a make() list build a packet; str enum na…
fix(protocol): raw items in a make() list build a packet; str enum na…