8000 Bump rustc version to 1.22.0 by dongcarl · Pull Request #210 · rust-bitcoin/rust-bitcoin · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Bump rustc version to 1.22.0 #210

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

Merged
merged 1 commit into from
Jan 23, 2019

Conversation

dongcarl
Copy link
Member
@dongcarl dongcarl commented Jan 14, 2019

It seems from IRC conversations and other discussions that 1.20.0 is an acceptable version to bump our rustc to.

  • It is less than 1.24.0, which is packaged by debian stable
  • Associated constants is introduced in 1.20.0

This PR is now for bumping to 1.22.0

8000
@TheBlueMatt
Copy link
Member
TheBlueMatt commented Jan 14, 2019

LGTM (assuming we dont bump it again any time soon).

@apoelstra
Copy link
Member

Good by me too.

@dongcarl dongcarl closed this Jan 14, 2019
@dongcarl dongcarl reopened this Jan 14, 2019
@dongcarl
Copy link
Member Author

It would appear that we've run into a bug with rustc, detailed here: rust-lang/rust#43613, the fix is in rust-lang/rust#44269, and merged in 1.22.0.

I personally don't mind bumping to 1.22.0 as it is also what we use for rust-lightning.

@apoelstra
Copy link
Member

I really do not want to go to 1.22. That will require 3 successive compile iterations to get from mrustc on 1.19, plus it's a bigger jump from 1.14.

@TheBlueMatt
Copy link
Member
TheBlueMatt commented Jan 15, 2019 via email

@dongcarl dongcarl changed the title Bump rustc version to 1.20.0 Bump rustc version to 1.22.0 Jan 15, 2019
@dongcarl
Copy link
Member Author

As discussed on IRC, people are reluctantly okay with 1.22.0. I agree that bumping in this manner shouldn't happen again. Here is 1.22.0.

@dongcarl
Copy link
Member Author

According to @sgeisler here, this will also solve a spurious overflow in serde.

@sgeisler
Copy link
Contributor
sgeisler commented Jan 15, 2019

@dongcarl I thought it could be solved by replacing strason with the current serde json crate (which needs rust >1.14, 1.20 works), but that's just a vague memory.

EDIT: found the source of the bug:

https://github.com/apoelstra/strason/blob/43587700e05bf9bfc954655b212c8ef4de91c2f5/src/parser.rs#L424

@dongcarl dongcarl closed this Jan 15, 2019
@dongcarl dongcarl reopened this Jan 15, 2019
@real-or-random
Copy link
Contributor

LGTM

Copy link
Member
@TheBlueMatt TheBlueMatt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ugh. Fine, I guess. No bumping this any time soon again, though.

Copy link
Contributor
@sgeisler sgeisler left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM since Carl managed to bootstrap 1.22. So we can probably automate that in some way and use it for our builds etc.

@dongcarl dongcarl merged commit 8584303 into rust-bitcoin:master Jan 23, 2019
@apoelstra
Copy link
Member

Guess we should bump bitcoin_hashes to 1.22 as well so we can get associated constants.

@dongcarl
Copy link
Member Author

@elichai
Copy link
Member
elichai commented Sep 30, 2019

Just FYI https://blog.rust-lang.org/2019/09/30/Security-advisory-for-cargo.html
Don't think it's serious enough to update but good to keep in mind

@vorot93
Copy link
vorot93 commented Oct 4, 2019

I wonder if there are any plans to upgrade to edition 2018 and rustc 1.31. Current Debian stable ships 1.34.

@TheBlueMatt
Copy link
Member
TheBlueMatt commented Oct 4, 2019 via email

@vorot93
Copy link
8000 vorot93 commented Oct 4, 2019

Why do you assume production uses rustc older than 1.31?

@TheBlueMatt
Copy link
Member
TheBlueMatt commented Oct 4, 2019 via email

@vorot93
Copy link
vorot93 commented Oct 4, 2019

One important reason is that edition 2018 has been around for quite some time and many potential contributors are already used to it. Staying with edition 2015 means forcing them to remember obsolete idioms (like extern crate and whatnot).

@stevenroose
Copy link
Collaborator

@vorot93 I don't think the edition is a big issue. I use both in between different projects. Those tiny verbosities we have here are catched by CI. New contributors that contribute real code and forget some small verbosities can very simply be notified of such by CI or other contributors interpreting CI. No biggie.

Those are really minor annoyances compared with having to either stay on an old rust-bitcoin version because you can't support an older Rust version or being forced to upgrade your toolchain while you don't want to.

@apoelstra
Copy link
Member

Potential contributors need to be on-board with our commitment to stability and our need to support old (in rust time) compilers. It is inconvenient and annoying at times, but much less inconvenient and annoying than forcing our users to constantly update their toolchain.

yancyribbens pushed a commit to yancyribbens/rust-bitcoin that referenced this pull request Mar 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants
0