Comments (5)
I think your comment only applies to proto3?
In proto2, oneof fields are optionals, and we map proto2 optionals to Swift optionals, so the default value in that case is nil.
Oh. I suppose proto2 optionals can have explicit default values? I don't think I've seen that case, but that would make sense as well.
from swift-protobuf.
You can also have a message in the oneof, so returning the default there to dot into the default fields also is useful.
from swift-protobuf.
You can also have a message in the oneof, so returning the default there to dot into the default fields also is useful.
Yes, good point. Are there examples of this in the google/protobuf/unittest_*
protos? If so, then it should be easy to fill in some tests for these cases.
from swift-protobuf.
Yup - https://github.com/google/protobuf/blob/master/src/google/protobuf/unittest.proto#L177
from swift-protobuf.
PR #119 added tests to confirm this got fixed in PR #102
from swift-protobuf.
Related Issues (20)
- How to convert to Google_Protobuf_Any to normal json in Swift HOT 2
- xcprivacy file for this package HOT 12
- WebAssembly build failure in AsyncMessageSequence HOT 1
- unknownFields prevents messages from being copied by memcpy HOT 6
- New concurrency warnings when building with Xcode 15.3 beta (Swift 5.10) HOT 28
- Revisit `_NameMap` in light of Swift 5 changing the default `String` encoding HOT 1
- 2 .proto has the same message names, which is why the project is not going to be built HOT 1
- Package Resolution Failed in Xcode 15.3 HOT 1
- Can I use SwiftProtobufPluginLibrary or SwiftProtobuf as a Protobuf-parser in Swift project? HOT 1
- The "thread" sanitizer testing is failing HOT 8
- The fuzz regression tests seem to have stopped working. HOT 2
- Need to Add a Privacy Manifest for Apple Validation store for sprint 2024 HOT 1
- Add a PrivacyInfo file HOT 1
- TextFormat seems like it might not be to spec for "inf", "infinity", or "nan" HOT 2
- PR approved back in July 2022 and changes still not included in a release HOT 6
- Unable to verify code signature when installing app to iOS from XCode HOT 4
- Primitive one-of type always passes nil as its argument for decoder HOT 8
- Serialization is not generated HOT 8
- Support for Protobuf Editions HOT 1
- Un-revert breaking changes before releasing v2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from swift-protobuf.