ra_machine: Allow the version/0
callback to return 0
#399
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Why
0 is now a valid value the
version/0
callback can return. It has always been a valid value, but the callback couldn't return that.This allows a Ra machine module to explicitly set the initial version, even though it is the default implicit one.
How
The
assert_integer/1
function, renamed toassert_version/1
in the progress, now accepts 0 as a valid value.The
version/0
callback spec is improved to return theversion()
type.The
is_versioned/1
helper behavior changes: an unversioned Ra machine is a module which doesn't export theversion/0
callback.