Skip to content

Fix: Chaotic indirect in oneOf#1298

Open
Tnirpps wants to merge 1 commit into
userver-framework:developfrom
Tnirpps:tnirpps-chaotic-fix
Open

Fix: Chaotic indirect in oneOf#1298
Tnirpps wants to merge 1 commit into
userver-framework:developfrom
Tnirpps:tnirpps-chaotic-fix

Conversation

@Tnirpps

@Tnirpps Tnirpps commented Jul 15, 2026

Copy link
Copy Markdown
Contributor

Bug: Compilation fails when using oneOf with discriminator and x-usrv-cpp-indirect: true on variant references

Error:
error: no matching function for call to 'WriteToStream'

Root cause: OneOfWithDiscriminator serializes variants with hide_brackets and hide_field_name parameters, but Ref<T> (used for x-usrv-cpp-indirect) only has a 2-argument WriteToStream overload

Fix: Add WriteToStream overload for Ref<T> that accepts and forwards hide_brackets / hide_field_name parameters

Test case: oneof_discriminator_indirect.yaml — recursive Node type with x-usrv-cpp-indirect: true on both oneOf variants

@Tnirpps Tnirpps changed the title Tnirpps chaotic fix Fix: Chaotic indirect in one Of Jul 15, 2026
@Tnirpps Tnirpps changed the title Fix: Chaotic indirect in one Of Fix: Chaotic indirect in oneOf Jul 15, 2026
@Tnirpps
Tnirpps force-pushed the tnirpps-chaotic-fix branch from 648cdd3 to c39cd03 Compare July 17, 2026 05:17
@Tnirpps
Tnirpps marked this pull request as ready for review July 17, 2026 07:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant