Skip to content

Commit cd15fb3

Browse files
authored
Merge pull request #19071 from github/redsun82/codegen-rust-ancestor-order
Rust: preserve ordering in rust generated code
2 parents 6590777 + e9b931e commit cd15fb3

File tree

3 files changed

+1151
-1149
lines changed

3 files changed

+1151
-1149
lines changed

misc/codegen/generators/rustgen.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,9 @@ def _get_class(self, name: str) -> rust.Class:
9696
name=name,
9797
fields=fields,
9898
detached_fields=detached_fields,
99-
ancestors=sorted(set(a.name for a in _get_ancestors(cls, self._classmap))),
99+
# remove duplicates but preserve ordering
100+
# (`dict` preserves insertion order while `set` doesn't)
101+
ancestors=[*{a.name: None for a in _get_ancestors(cls, self._classmap)}],
100102
entry_table=inflection.tableize(cls.name) if not cls.derived else None,
101103
)
102104

rust/extractor/src/generated/.generated.list

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)