-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Unavailable I128 and U128 models #152
Conversation
The underlying `Swift.Int128` and `Swift.UInt128` models fail some tests (crash). I have submitted some fixes that got merged into the `Swift 6.1` branch. I'll try again later and make the `I128` and `U128` available when all tests pass successfully.
Hm. I suppose it as to be 128-bit aligned for Quoting the SE-0425 proposal:
64-bit alignment works for some purposes, but I'm not sure if it works for all purposes. Hm. |
Hm. I believe the actual requirement is something like this: // where A: SystemsInteger & A.Element == A
// where B: SystemsInteger & B.Element == B
if A.size > B.size {
MemoryLayout<A>.alignment >= MemoryLayout<B>.alignment
} else if A.size < B.size {
MemoryLayout<A>.alignment <= MemoryLayout<B>.alignment
} else {
MemoryLayout<A>.alignment == MemoryLayout<B>.alignment
} Imagine
It should be fine for
If same-size types have different alignment, then size is not enough info to reinterpret them:
|
This patch adds unavailable
I128
andU128
models (#143).The underlying
Swift.Int128
andSwift.UInt128
models fail some tests. I have submitted some fixes that got merged into theSwift 6.1
branch. I'll try again later and make theI128
andU128
available when all tests pass successfully.