servo / cocoa-rs

DEPRECATED - Cocoa/Objective-C bindings for the Rust programming language
https://github.com/servo/core-foundation-rs/
Other
286 stars 72 forks source link

Lots of type misalignment building under stable-i686-apple-darwin #140

Open yupferris opened 8 years ago

yupferris commented 8 years ago

Seems a lot of assumptions are made about the widths of certain types that make many usages of the library throw errors when building for 32-bit. For example, nextEventMatchingMask_untilDate_inMode_dequeue_'s mask parameter takes an NSInteger (https://github.com/servo/cocoa-rs/blob/bce77bf83b10dd6ec54bb8ce897baeb5f5b24d46/src/appkit.rs#L312), but the bitflags that are meant to be used there are backed by a libc::c_ulonglong, which is not compatible in 32-bit builds.

This causes, for example, https://github.com/tomaka/glutin to fail to compile under 32-bit https://github.com/tomaka/glutin/issues/803 at least, and there may be more errors lurking around in there that this causes.

quadrupleslap commented 6 years ago

This is slightly less of a problem considering the recent news, but it's still pretty bad.

https://www.macrumors.com/2017/06/06/apple-to-phase-out-32-bit-mac-apps/