w.bind(seq, lambda e: ...) on an untyped widget segfaulted
Found 2026-10-20 building Vloot's GUI (neo-73's project). clickable(widgets, ...) binds each widget in a loop: w.bind("<Enter>", lambda e: ...). The
native build died with SIGSEGV in PXXStrConcat as the window opened.
Cause: w has no static class, so the call goes through runtime
dispatch, and PyPickOverloadByArgTypes picks among the same-arity overloads
bind(sequence, script: AnsiString) and bind(sequence, callback: Variant, add=''). A lambda is tyPointer, which scored 0 against both, so the first
declared overload (the Tcl script string) won and the lambda's pointer was
concatenated into a Tcl command.
Fix: PyOverloadArgTypeScore now takes a point off a STRING parameter that is handed a pointer (a lambda or bound callable) or an object. This mirrors the existing rule for a class parameter handed a scalar. The Variant overload wins.
Test: examples/tk/sidebar_cards_and_hover_rows (row tksbar26).