Live data from Hacker News

Announcing Rust 1.16

blog.rust-lang.org

51–60 of 95 posts

Re: Announcing Rust 1.16

#51

I am glad that FreeBSD is on the "Tier 2" list of supported platforms [1] but am wondering, is there any way to convince you guys to make it "Tier 1"? If so, how? I am willing to dedicate some amount of my own time to make it happen but am not convinced that my skills [2] and the amount of time I have available to spend is sufficient to make a difference. [1]: https://forge.rust-lang.org/platform-support.html [2]: ht…

Semi-official answer since this isn't an area I work on directly:

In general, the differences between Tier 2 and Tier 1 are:

1. Get tests running on every commit.

2. Gate building on those tests passing.

The first is a technical/money issue, the latter is a social issue. That is, getting all tests working is technical, being able to afford running them on every commit is monetary, but gating builds on failures on a platform is an issue of "who is responsible for making sure things stay passing."

Given that we run these tests on every commit, in some sense, it would be the PR author's job, but if they get stuck, we need someone who's able to help them fix that. That is the hardest part of moving from tier 2 to tier 1 in my personal opinion. Who is that person? What happens if they drop off the project?

Re: Announcing Rust 1.16

#52
post #48

Since Rust people read hn... the version 1.16 is at the bottom of https://thanks.rust-lang.org/ , while it should appear before 1.15

There's a bug open about this, and I am literally deploying the fix right now. It'll probably be fixed by the time you read this comment :) (EDIT: deployed successfully, refresh the page)

Thank you!

Re: Announcing Rust 1.16

#53

Earlier quoted context omitted.

We used a time-based release schedule; each minor version comes out every six weeks. We believe this approach is better for a number of reasons, including quality.

But this is a thing that amazes me: the rust community manage to be incredibly productive while maintaining a culture of rigorous quality. In a world of "move fast and break things" at best and just of "I don't know what I'm doing" at worst I find it fascinating to witness.

The theory is that the "not rocket science" rule is a major reason why this is possible: http://graydon2.dreamwidth.org/1597.html .

Re: Announcing Rust 1.16

#54

I am glad that FreeBSD is on the "Tier 2" list of supported platforms [1] but am wondering, is there any way to convince you guys to make it "Tier 1"? If so, how? I am willing to dedicate some amount of my own time to make it happen but am not convinced that my skills [2] and the amount of time I have available to spend is sufficient to make a difference. [1]: https://forge.rust-lang.org/platform-support.html [2]: ht…

I think it is unlikely we will make FreeBSD tier 1 any time soon. The project is stretched beyond its limits with its platform support commitments, and FreeBSD is historically difficult for us to support.

The next tier 1 is going to be ARM, probably for both Android and Linux, and then I personally don't see any others on the horizon. I actually see our tiers being redefined soon to be more graduated, and not have so many tier 2 commitments (we're happy to build artifacts for obscure platforms, less happy to be on the hook for guaranteeing obscure platforms continue to build - not saying FreeBSD specifically is 'obscure').

That said, the differences between tier 1 and tier 2 are not so great. If a platform has testing on CI then it is pretty close to tier 1, even if it's technically tier 2. The problem here is that testing the FreeBSD targets requires running FreeBSD in some way and that has been hard for our CI to do. Anything that can be crossed from Linux is easy, everything else is a painful special case. So with FreeBSD we do the the cross-building, but not the cross-testing. So the most effective thing to do to take Rust FreeBSD support to the next level is to figure out a way to get the CI to run tests.

There may be opportunities in the future for paid Rust platform support, where if a motivated party donates the right amount of money, we'll make it happen. I think that will have to happen to get some of the remaining platforms up to production quality.

Re: Announcing Rust 1.16

#55

Earlier quoted context omitted.

We used a time-based release schedule; each minor version comes out every six weeks. We believe this approach is better for a number of reasons, including quality.

But this is a thing that amazes me: the rust community manage to be incredibly productive while maintaining a culture of rigorous quality. In a world of "move fast and break things" at best and just of "I don't know what I'm doing" at worst I find it fascinating to witness.

Honestly, it's extremely taxing to maintain this pace without everything falling apart. The size of the team employed by Mozilla is quite modest. Firefox, which has a similar release schedule, has an entire team dedicated to just getting the releases out (though Firefox is yet the significantly larger product). We have no entire people, but employ some very rigorous testing.

Re: Announcing Rust 1.16

#56
post #54

I am glad that FreeBSD is on the "Tier 2" list of supported platforms [1] but am wondering, is there any way to convince you guys to make it "Tier 1"? If so, how? I am willing to dedicate some amount of my own time to make it happen but am not convinced that my skills [2] and the amount of time I have available to spend is sufficient to make a difference. [1]: https://forge.rust-lang.org/platform-support.html [2]: ht…

I think it is unlikely we will make FreeBSD tier 1 any time soon. The project is stretched beyond its limits with its platform support commitments, and FreeBSD is historically difficult for us to support. The next tier 1 is going to be ARM, probably for both Android and Linux, and then I personally don't see any others on the horizon. I actually see our tiers being redefined soon to be more graduated, and not have so…

>So the most effective thing to do to take Rust FreeBSD support to the next level is to figure out a way to get the CI to run tests.

If I were to set up my own FreeBSD buildbot for commits to the Rust repos, would result reports from my buildbot be welcome? Would automatic reports be useful to you, or should I manually inspect failures and write up a bug report / pull request with fixes for issues that arise? If automatic, how could I best integrate reports of failure with your development process for Rust?

>There may be opportunities in the future for paid Rust platform support, where if a motivated party donates the right amount of money, we'll make it happen. I think that will have to happen to get some of the remaining platforms up to production quality.

I like this idea though I don't have a lot of money to spend myself currently.

Re: Announcing Rust 1.16

#57
post #55

Earlier quoted context omitted.

But this is a thing that amazes me: the rust community manage to be incredibly productive while maintaining a culture of rigorous quality. In a world of "move fast and break things" at best and just of "I don't know what I'm doing" at worst I find it fascinating to witness.

Honestly, it's extremely taxing to maintain this pace without everything falling apart. The size of the team employed by Mozilla is quite modest. Firefox, which has a similar release schedule, has an entire team dedicated to just getting the releases out (though Firefox is yet the significantly larger product). We have no entire people, but employ some very rigorous testing.

>We have no entire people

You mean people dedicated to releases, or just that everyone must cut off an appendage to join the team? :)

Re: Announcing Rust 1.16

#58

I am glad that FreeBSD is on the "Tier 2" list of supported platforms [1] but am wondering, is there any way to convince you guys to make it "Tier 1"? If so, how? I am willing to dedicate some amount of my own time to make it happen but am not convinced that my skills [2] and the amount of time I have available to spend is sufficient to make a difference. [1]: https://forge.rust-lang.org/platform-support.html [2]: ht…

Semi-official answer since this isn't an area I work on directly: In general, the differences between Tier 2 and Tier 1 are: 1. Get tests running on every commit. 2. Gate building on those tests passing. The first is a technical/money issue, the latter is a social issue. That is, getting all tests working is technical, being able to afford running them on every commit is monetary, but gating builds on failures on a p…

>Given that we run these tests on every commit, in some sense, it would be the PR author's job, but if they get stuck, we need someone who's able to help them fix that. That is the hardest part of moving from tier 2 to tier 1 in my personal opinion. Who is that person? What happens if they drop off the project?

I would have liked to volunteer as the kind of person that would investigate issues for the FreeBSD platform but as I said, both my skills and my time are limited to the extent that they might not be sufficient.

As for what happens if the person responsible for this drops off the project, I think the solution to that is not so complicated; demote the platform back to tier 2 until someone else (if anyone ever) steps up to take over the responsibility.

Re: Announcing Rust 1.16

#59

I might be a minority here, but can someone please update me on there state of Rust on iOS? I develop C++ cross platform iOS/Android apps and would love to use Rust if possible. The last time I checked Rust didn't support .frameworks creation, didn't support Bitcode and calling the main thread from Rust wasn't easy. I would love to hear if these issues have been resolved.

for me it works great, a few quirks to configure xcode at first (like with most things in xcode when you need more than a 100% cocoa app), then now the workflow is unobtrusive. debugging also works from xcode, minus coloring of rust code.

my only concern is bitcode support, not feasible now due to a version mismatch between apple's llvm and rust's llvm (you can emit bitcode with rustc). which means currently you can ship apps for iOS, but not watchOS or tvOS.

(my use case of rust is DSP / audio synthesis)

Re: Announcing Rust 1.16

#60

Earlier quoted context omitted.

Semi-official answer since this isn't an area I work on directly: In general, the differences between Tier 2 and Tier 1 are: 1. Get tests running on every commit. 2. Gate building on those tests passing. The first is a technical/money issue, the latter is a social issue. That is, getting all tests working is technical, being able to afford running them on every commit is monetary, but gating builds on failures on a p…

>Given that we run these tests on every commit, in some sense, it would be the PR author's job, but if they get stuck, we need someone who's able to help them fix that. That is the hardest part of moving from tier 2 to tier 1 in my personal opinion. Who is that person? What happens if they drop off the project? I would have liked to volunteer as the kind of person that would investigate issues for the FreeBSD platfor…

Yeah, I think that policy is sound, it's just something we haven't actually done yet, so there are inevitable kinks to work out :)

I expect that your situation isn't uncommon, maybe the solution is two or three people rather than one. Raises that bar though...

Post reply on HN