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.
Aim
Due to a change implemented in Swift 5.9, Constrain implicit raw pointer conversion to bitwise-copyable values, a conversion to a raw pointer produces the warning:
Forming an 'UnsafeRawPointer' to a variable of type 'T'; this is likely incorrect because 'T' may contain an object reference.
Since the affected function is only used with
CGPoint
andCGSize
, the current implementation—that raises the warning—should be harmless.Possible Solutions
The warning has been silenced by wrapping the code in
withUnsafePointer(to:) {}
.Another possible solution could be to constrain
T
to theBitwiseCopyable
protocol, new in Swift 6. This will make the compiler check if the type is safe to convert to an UnsafeRawPointer. In order to use this approach, the project needs to be migrated to Swift 6.Considerations