Files
Dario Gabriel LipicarandClaude Opus 5 f668ef212f fix(glue): the OTHER void site discarded the refusal too
#28 fixed one of two. The single-concurrency path returns early --
`if (kVoidMethods.contains(methodName)) return QVariant(true);` -- before
reaching the branch that patch changed, and its own comment said the quiet part
out loud: "void methods answer QVariant(true) WHATEVER the cdylib put on the C
ABI". That is the one case where the cdylib has something to say.

Measured, which is the only reason this was caught: with #28 merged, on
plugin-qt master, reached through module-builder b06c287 and pinned by
logos-test-modules -- verified by following the lock root-to-leaf, and by
content (`__rejected` present in the emitter) -- the six
failure/B/arity/too-many-zero-parameter cells were STILL xfail. The fix was in
the build and the cells had not moved, so the fix was not on their path.

THE TEST IS WHY IT LOOKED DONE, twice over, and both are fixed here:

  * It asserted `grep -q '__rejected'`, which passes on one site as happily as
    on two.
  * The first attempt to strengthen that counted occurrences in $cm -- the
    MULTI glue file -- while the site #28 missed emits into $c, the SINGLE
    one. Checking the right property in the wrong file is the same mistake one
    step over, and the suite caught it.

Each site is now asserted against the file it lives in, so patching one path
again fails here rather than at the far end of a matrix run.

An ordinary void reply still answers QVariant(true) on both paths; only a
provider refusal -- the closed set dispatch_failed / invalid_args /
unknown_method, matched on an object with a string `code` -- is propagated.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-26 09:38:05 -03:00
..