Mark packDouble2x32 function as unsafe #27
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.
glm-rs/src/builtin/pack.rs
Lines 259 to 262 in df5a989
Hello, the unsafe function called needs to ensure that the parameter must be:https://doc.rust-lang.org/std/mem/fn.transmute.html
It uses the mem::transmute function, which can lead to undefined behavior if used incorrectly. The mem::transmute function is used to reinterpret the memory of one type as another type, which can be dangerous if the types have different sizes or alignment requirements. Therefore, any function that uses mem::transmute must be marked as unsafe to indicate that the caller must take care to ensure that it is used correctly. The developer who calls the uninit_vector function may not notice this safety requirement.
Marking them unsafe also means that callers must make sure they know what they're doing.