aboutsummaryrefslogtreecommitdiff
path: root/TODO
blob: ab4e9f63b736e55a4f3edb2884c174599a0e6b77 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# The list of possible future improvements and ideas

- Should we get rid of ProtobufStream and just use Stream? Can our write/read
  procs interfere with other versions or should we prefix them with something?
  Or should we make ProtobufStream a distinct Stream? Or does this matter at
  all?

- Make field names camelCase. This would make the generated code look more
  Nim-ish, even though we can use most of the symbols in whatever way we want
  as Nim ignores most underscores and case.

- Preserve unknown fields on deserialize/serialize. This has been implemented
  for protobuf 3.5.0 for proto3. I think it's a nice thing.

- Proto2 extensions? This needs some thinking how to do this. How often are
  extensions used? Is this necessary?

- Options?

- has/clear procs for oneofs to check/clear the whole oneof. Has is simple.
  What about clearing, we are storing the fields in an object tagged with
  {.union.} pragma. How does Nim behave when one field of a union is reset
  (was thinking about reference types and GC)?

- JSON mapping for proto3?