Skip to content

[swift] Fix edge case for oneof field named self#3360

Merged
dnkoutso merged 1 commit intomasterfrom
self_oneof_edge_case
Aug 8, 2025
Merged

[swift] Fix edge case for oneof field named self#3360
dnkoutso merged 1 commit intomasterfrom
self_oneof_edge_case

Conversation

@dnkoutso
Copy link
Copy Markdown
Collaborator

@dnkoutso dnkoutso commented Aug 7, 2025

We have a rather badly named message Self in one of our protos that is throwing off again the Swift compiler.

SwiftPoet does the right thing to escape it with backticks however other parts of the generated code start failing.

For Wire, we rename `Self` with Self_

string screen_oneof_string = 1;
int32 screen_oneof_int32 = 2;
SubMessage screen_oneof_sub_message = 3;
Self self = 4;
Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

generated code fails to compile without the above change.

@dnkoutso dnkoutso merged commit 6c98721 into master Aug 8, 2025
15 checks passed
@dnkoutso dnkoutso deleted the self_oneof_edge_case branch August 8, 2025 07:40
svc-squareup-copybara pushed a commit to cashapp/misk that referenced this pull request Aug 8, 2025
| Package | Type | Package file | Manager | Update | Change |
|---|---|---|---|---|---|
| [io.lettuce:lettuce-core](https://github.com/redis/lettuce) |
dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`6.7.1.RELEASE` -> `6.8.0.RELEASE` |
| [com.squareup.wire](https://github.com/square/wire) | plugin |
misk/gradle/libs.versions.toml | gradle | patch | `5.3.7` -> `5.3.8` |
| [com.squareup.wire:wire-schema](https://github.com/square/wire) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch | `5.3.7`
-> `5.3.8` |
| [com.squareup.wire:wire-runtime](https://github.com/square/wire) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch | `5.3.7`
-> `5.3.8` |
| [com.squareup.wire:wire-reflector](https://github.com/square/wire) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch | `5.3.7`
-> `5.3.8` |
| [com.squareup.wire:wire-moshi-adapter](https://github.com/square/wire)
| dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`5.3.7` -> `5.3.8` |
| [com.squareup.wire:wire-grpc-client](https://github.com/square/wire) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch | `5.3.7`
-> `5.3.8` |
| [com.squareup.wire:wire-bom](https://github.com/square/wire) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch | `5.3.7`
-> `5.3.8` |

---

### Release Notes

<details>
<summary>redis/lettuce (io.lettuce:lettuce-core)</summary>

###
[`v6.8.0.RELEASE`](https://github.com/redis/lettuce/releases/tag/6.8.0.RELEASE)

[Compare
Source](redis/lettuce@6.7.1.RELEASE...6.8.0.RELEASE)

The Lettuce team is pleased to announce the Lettuce 6.8.0 minor release!

This release provides support for the newly introduced [Redis Query
Engine
support](https://redis.github.io/lettuce/user-guide/redis-search/) which
was is part of Redis 8.0 and previously - as part of RedisStack. The new
operators (`DIFF`, `DIFF1`, `ANDOR` and `ONE`) for the `BITOP` command
are also available. The team has worked on extending the contract of the
`XADD` and `XTRIM ` commands to support trimming policy, and also
introduced the new `XDELEX` and `XACKDEL` commands.

Lettuce 6.8.0 supports Redis 2.6+ up to Redis 8.x. In terms of Java
runtime, Lettuce requires at least Java 8 and
works with Java 24. The driver is tested against Redis 8.2, Redis 8.0,
Redis 7.4 and Redis 7.2.

Find the full changelog at the end of this document.
Thanks to all contributors who made Lettuce 6.8.0.RELEASE possible.

📗 Links
Reference documentation:
https://lettuce.io/core/6.8.0.RELEASE/reference/
Javadoc: https://lettuce.io/core/6.8.0.RELEASE/api/

⭐ New Features
Introduce RediSearch by [@&#8203;tishun](https://github.com/tishun) in
redis/lettuce#3375
Add support for new operations of BITOP command in Redis Community
Edition 8.2 by [@&#8203;atakavci](https://github.com/atakavci) in
redis/lettuce#3334
Add support for 8.2 stream commands by
[@&#8203;uglide](https://github.com/uglide) in
redis/lettuce#3374

🐞 Bug Fixes
NoClassDefFoundError in Lettuce 6.7.0
[#&#8203;3317](redis/lettuce#3317) by
[@&#8203;tishun](https://github.com/tishun) in
redis/lettuce#3318

💡 Other
The instance of the `ObjectMapper` can now be reused in the
`DefaultJsonParser` by [@&#8203;thachlp](https://github.com/thachlp) in
redis/lettuce#3372
Added basic connection interruption tests by
[@&#8203;uglide](https://github.com/uglide) in
redis/lettuce#3292
DOC-4758 async JSON doc examples by
[@&#8203;andy-stark-redis](https://github.com/andy-stark-redis) in
redis/lettuce#3335
Fixed SocketOptions.Builder validation messages by
[@&#8203;hubertchylik](https://github.com/hubertchylik) in
redis/lettuce#3366
Refactor tests for clarity and maintainability by
[@&#8203;Rian-Ismael](https://github.com/Rian-Ismael) in
redis/lettuce#3363
Provide support for the SVS-VMANA index
([#&#8203;3385](redis/lettuce#3385)) by
[@&#8203;tishun](https://github.com/tishun) in
redis/lettuce#3386

❤️ New Contributors## New Contributors

- [@&#8203;hubertchylik](https://github.com/hubertchylik) made their
first contribution in redis/lettuce#3366

**Full Changelog**:
redis/lettuce@6.7.0.RELEASE...6.8.0.RELEASE

</details>

<details>
<summary>square/wire (com.squareup.wire)</summary>

###
[`v5.3.8`](https://github.com/square/wire/blob/HEAD/CHANGELOG.md#Version-538)

[Compare Source](square/wire@5.3.7...5.3.8)

*2025-08-08*

##### Swift

- Fix edge case for oneof field named `self`
([#&#8203;3360](square/wire#3360) by
\[Dimitris Koutsogiorgas]\[dnkoutso])

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "after 6pm every weekday,before 2am
every weekday" in timezone Australia/Melbourne, Automerge - At any time
(no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Never, or you tick the rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config help](https://github.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Renovate
Bot](https://github.com/renovatebot/renovate).

GitOrigin-RevId: f26d0f3a5bf8e0f695433640efc9d6e93850ab60
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.

2 participants