|
|
|
|
|
by lalaithion
1419 days ago
|
|
What’s the backwards compatibility story for coding using Karmem? When is it legal to add, modify, or remove a struct field without having to recompile all of the binaries using this format and replace them atomically? When is it legal to add, modify, or remove a struct field without requiring code to be refactored? What about enum variants? These questions may not matter for every use case (e.g. you ship a single binary from a single codebase) but I think that clearly defining these rules opens up a lot of very cool use cases that are otherwise prohibited. |
|
> In order words: you can't edit the description of one inline struct without breaking compatibility.
and
> Tables: Tables can be used when backward compatibility matters. For example, tables can have new fields append at the bottom without breaking compatibility.
Otherwise, I agree it's rather unclear exactly what you can do with tables.