Commit Graph

3 Commits

Author SHA1 Message Date
Devon
ae42568b26 [Rust] Enum Query Parameter Serialization Fixes (#22683)
* [Rust] Enum Query Parameter Serialization Fixes

Adds tests to ensure this won't regress again. Also fixes some other compile errors with Box<> and file uploads.

* Remove duplicate query param integration tests from petstore samples

* re-gen samples

* fix enum boxing tests

* stream files

* samples

* doc generator fix & snapshot

* doc generation fixes, update samples

* another attempt to fix the doc generator

* improve doc generation - don't try link to internal models, and fixing links missing in some scenarios

the rust doc generator will be the death of me

* also fix hyper

* applying same fix to hyper

* snapshot fixes
2026-01-13 11:18:56 +08:00
Artem Medvedev
518b29d089 fix(rust): oneOf generation for client (#17915)
* fix(rust): discriminator mapping to serde rename

Discriminator mapping has been ignored in some cases.
Even existing samples had wrong definition in some cases

This PR addresses this

* fix(rust): `oneOf` generation for client

Solves #17869 and #17896 and also includes unmerged $17898

Unfortunately it affects quite a lot of code, but we can see that only client-side models were affected by re-generation.
I tried to split this PR to several, but they're really coupled and hard to create a chain of PRs.

* fix: indentation in `impl Default`

* missing fixes

* fix: correct typeDeclaration with unaliased schema

* style: improve indentation for models

* fix: user toModelName for aliases of oneOf

* refactor: unify `getTypeDeclaration` for rust

* cover the case when `mapping` has the same `ref` for different mapping names

* test: add test for previous change

* style: remove extra qualified path to models

* add some comments

* fix(build): use method of `List` instead of specific for `LinkedList`
2024-02-24 23:41:30 +08:00
Nathan Shaaban
76d743b63b fix(rust): simplify new function optional logic (#17865)
* fix(rust): simplify None logic

Used to be a code path (where isFreeFormObject and something else) where we could end up with two `: None` `: None`'s

This does add the None for the !required && !isArray && !isMap && !isNullable case (where nothing would have been printed before.

Above for the type on the individual vars inside the struct definition the logic is simply if not required then it's optional.
If it's optional we want a None when creating a new struct.

* ci: add tests for failure
2024-02-19 22:26:29 +08:00