Add default implementations for ModbusContext trait as described in h… #39
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.
This PR adds default implementation for
ModbusContext
functions. There are a few unresolved issues:ModbusStorage
's originalModbusContext
method implementations. This means all of the unit tests run the code in that implementation and not the default implementations. Those implementations might also be slightly faster than the default implementations because more inlining is possible.ModbusStorage
's method implementations, but that was a manual process.*_f32
custom implementations inModbusStorage
's implementation ofModbusContext
be removed?ModbusContext
's definition and the implementation forModbusStorage
are identical.allow(clippy::cast_lossless, clippy::cast_possible_truncation)
as attributes to the definition ofModbusContext
. This is because some default implementations trigger those clippy warnings about theu16
,u8
, andusize
casts. The same allow attributes are also present onModbusStorage
's implementation, so I don't see them as an issue.I've made this PR a draft because the three issues above need to be solved/acknowledged before it is ready.