Skip to content

Versioning does not work across compilation units #137

Closed
@AzothAmmo

Description

@AzothAmmo

When registering a type, version information is stored in two places:

  1. a static member variable for a specialization of Version<T>
  2. inside the static object (global singleton) StaticObject<Versions>.

When saving a type, we currently try to get its version number by looking at the member static variable. When loading, we access the StaticObject. This means that when something is versioned in one compilation unit, it won't be available via the specialization of Version<T>, since we never instantiate the class.

See https://groups.google.com/forum/#!topic/cerealcpp/vBYPUzGB9Mw for more information.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions