3 ms·
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 t
by lalaithion 4y 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.
- scaredginger 4y agoVery good questions. They do mention: > 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.
- rixed 4y agoThey say you can append new fields in tables (a type of struct). No mention of enums.