-
Notifications
You must be signed in to change notification settings - Fork 674
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
Upgrade to Bitflags 1.0 #801
Conversation
This should probably also include a CHANGELOG entry since it does change how constants are scoped. |
b70a10a
to
cf203e0
Compare
This makes Rust 1.20 our base requirement. I've updated Travis, but the buildbots will need to be updated separately for this to pass there. On the 23rd Rust 1.22 will be released, so once that's done requiring this newer version of Rust will fall in line with our N-2 minimum supported Rust standard. |
e93e17c
to
59858fc
Compare
@asomers With this change we're now seeing epoll failures during testing as the only error (besides your FreeBSD buildbots not being Rust 1.20). Any idea what could be causing this? |
@Susurrus this is due to the Rust upgrade. I saw this months ago in the Beta channel. At first I suspected a code generation bug in Rust itself, but now I'm not so sure. It could be that something in nix's epoll code is overrunning a buffer or something. I never did get to the bottom of it. But this patch makes the problem a little more obvious. |
Hmmm, maybe we should test on stable in CI instead of beta. I didn't realize we weren't doing that at all anymore. |
Blocking on #805. |
236b4f3
to
d82763f
Compare
The libc_bitflags! macro was replaced with a non-recursive one supporting only public structs. I could not figure out how to make the old macro work with the upgrade, so I reworked part of the bitflags! macro directly to suit our needs, much as the original recursive macro was made. There are no uses of this macro for non-public structs, so this is not a problem for internal code.
d82763f
to
e1baab9
Compare
@Susurrus The amd64 buildbot should be good to go. But I'm out of space on my VM :( so it will take a little while longer to upgrade the i386 buildbot. |
@asomers Great, thanks! I've restarted this on the amd64 one and we'll see what happens. As for the i386 I guess we'll need to block on that for this to do things "the right way". What would be a rough ETA on that? |
Bam! It worked, so I'm betting i386 will work as well. The downside to upgrading the buildbot outside of this PR is now other PRs will be testing on 1.20 there. So I'd love to get this merged ASAP to keep things in phase. |
The buildbots should all be working now. I've restarted the failed i386 build. |
bors r+ |
801: Upgrade to Bitflags 1.0 r=asomers a=Susurrus The libc_bitflags! macro was replaced with a non-recursive one supporting only public structs. I could not figure out how to make the old macro work with the upgrade, so I reworked part of the bitflags! macro directly to suit our needs, much as the original recursive macro was made. There are no uses of this macro for non-public structs, so this is not a problem for internal code. Closes #766.
The libc_bitflags! macro was replaced with a non-recursive one supporting
only public structs. I could not figure out how to make the old macro work
with the upgrade, so I reworked part of the bitflags! macro directly to suit
our needs, much as the original recursive macro was made. There are no uses
of this macro for non-public structs, so this is not a problem for internal code.
Closes #766.