Files
logos-cpp-sdk/cpp-generator
Dario LipicarandClaude Opus 5 8e7ed6e0ec fix(generator): the provider dispatch decodes arguments, it does not coerce (#121)
The --provider-header dispatch emitted args.at(0).toULongLong() and friends,
so echoUint(-1) reached the author's method as 18446744073709551615 and
echoInt(3.7) as 4. It now emits logos::qtArgFromVariant<T> per parameter —
the same canonical codec the cdylib dispatch and the Rust provider use — and
turns a logos::CodecError into the canonical dispatch_failed object.

toQVariantConversion is untouched: it is also used for the Qt CONSUMER
wrapper's return conversion, which is a different direction. The new
toProviderArgDecode covers only the incoming-argument job, and falls back to
the old conversion for a type the codec has no rule for so a module author's
own type still compiles.

Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
2026-07-30 18:02:22 -03:00
..