Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

UPDATE for RFC30: Serialization and deserialization #2186

Merged
Merged
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
3042c98
commit RFC
thomas-k-cameron Dec 21, 2022
2010fbc
commit
thomas-k-cameron Dec 21, 2022
a6a8fcd
Merge branch 'main' into serialization_and_deserialization
thomas-k-cameron Dec 21, 2022
75b7868
Delete rfc0023_serialization_and_deserialization.md
thomas-k-cameron Dec 21, 2022
ec4a9e7
fix formatting
thomas-k-cameron Dec 22, 2022
89c31bf
Merge branch 'serialization_and_deserialization' of https://github.co…
thomas-k-cameron Dec 22, 2022
1c2f1f0
https://github.com/awslabs/smithy-rs/pull/1944#discussion_r1054637168
thomas-k-cameron Dec 22, 2022
d9d4e80
https://github.com/awslabs/smithy-rs/pull/1944#discussion_r1054632202
thomas-k-cameron Dec 22, 2022
bb196cc
applied grammarly
thomas-k-cameron Dec 22, 2022
856e370
better example wip
thomas-k-cameron Dec 22, 2022
0e25b5c
FIX
thomas-k-cameron Dec 22, 2022
f734f51
https://github.com/awslabs/smithy-rs/pull/1944#discussion_r1054632468
thomas-k-cameron Dec 22, 2022
bc7f522
add examples for output's builer
thomas-k-cameron Dec 22, 2022
eea1ab8
fixes
thomas-k-cameron Dec 22, 2022
8c2a5b7
fixing unstable feature gate snippet
thomas-k-cameron Dec 23, 2022
770edc1
Update rfc0028_serialization_and_deserialization.md
thomas-k-cameron Jan 4, 2023
ca9aaa5
Merge branch 'main' into serialization_and_deserialization
thomas-k-cameron Jan 4, 2023
e8f3a1c
file name fix
thomas-k-cameron Jan 4, 2023
5f81a87
Merge branch 'awslabs:main' into serialization_and_deserialization
thomas-k-cameron Jan 9, 2023
8b7ee9f
Update rfc0030_serialization_and_deserialization.md
thomas-k-cameron Jan 9, 2023
fe8183d
Update rfc0030_serialization_and_deserialization.md
thomas-k-cameron Jan 9, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -75,13 +75,17 @@ However, we believe that cfg approach ensure users won't enable this feature by

## Feature Gate for Serialization and De-serialization
`Serde` traits are implemented behind feature gates.
`Serialize` is implemented behind `serialize`, while `Deserialize` is implemented behind `deserialize`.
`Serialize` is implemented behind `serde-serialize`, while `Deserialize` is implemented behind `serde-deserialize`.
Users must enable the `unstable` feature to expose those features.

We considered giving each feature a dedicated feature gate such as `unstable-serde-serialize`.
In this case, we will need to change the name of feature gates entirely once it leaves the unstable status which will cause users to make changes to their code base.
We conclude that this brings no benefit to the users.

Furthermore, we considered naming the fature-gate `serialize`/`deserialize`.
However, this way it would be confusing for the users when we add support for different serialization/deserialization framework such as `deser`.
Thus, to emphasize that the traits is from `serde` crate, we decided to name it `serde-serialize`/`serde-deserialize`

## Keeping both features behind the same feature gate
We considered keeping both features behind the same feature gate.
There is no significant difference in the complexity of implementation.
Expand Down