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.
MCS cast
I use it a lot in my code, it leads to code that's easier to read/write/edit than
cast[F](expr)
especially in more complex expressions; yet it's as easy to audit than builtincast
(eg when grepping forcast
).for reference, previous attempt was in std/sugar (nim-lang/Nim#8528), I'm now moving this to fusion/pointers which is a module dedicated to making unsafe code easier to handle.
example
see runnableExamples
addrCast
it's a common pattern, and std/pointers is a good fit for it
see runnableExamples