News for hackers. Stuff that matters.
Re:Announcing Rust 1.7 by kibwen on Thursday March 03, 2016 @03:13PM (#11219655)
To elaborate, we use a tool called Crater to estimate the potential impact of breaking changes. It attempts to compile all of the packages on crates.io with a new version of the compiler to determine any regressions, effectively using Rust's public package repository as an extended test suite.

Here's Crater's regression report for the linked soundness fix: https://gist.github.com/nikomatsakis/2f851e2accfa7ba2830d#ro... . It detected four root regressions, which means that there were four packages that were relying on unsound behavior. This isn't necessarily the full extent of the regressions, however, because if we ship a compiler that breaks those packages, then any other packages that have the formerly-unsound packages as dependencies will obviously also break.

Having a concrete list of regressions also allows us to go through the ecosystem and submit PRs ourselves to bring the affected packages back to building, which is usually quite easy. Crater is a really, really great tool.

Re:Announcing Rust 1.7 by Terribledactyl on Thursday March 03, 2016 @04:59PM (#11220387)
> ...effectively using Rust's public package repository as an extended test suite.

This is one of the coolest and most practical things I've read in a while, seeing what happens to stable(ish) real wild code. So many practical applications and analytics are coming to mind in many areas.

Thank you. Sparks my interest in Rust again.

Re:Announcing Rust 1.7 by cies on Thursday March 03, 2016 @05:04PM (#11220416)
Should also have a look at http://stackage.org (quite similar but in Haskell, yet curated -- a "try to compile all" feature also exists IIRC).

Not sure how much this is used in order to test impact language changes.

Re:Announcing Rust 1.7 by ibotty on Friday March 04, 2016 @03:44AM (#11222690)
It regularly is.
Re:Announcing Rust 1.7 by d4mi3n on Friday March 04, 2016 @01:26AM (#11222351)
I believe Perl and CPAN originally coined this approach. I'm glad to see from the parent and other comments that this approach seems to have caught on in other ecosystems as well.
Re:Announcing Rust 1.7 by sjrd on Thursday March 03, 2016 @05:08PM (#11220441)
Scala also has something similar, called the community build: https://github.com/scala/community-builds It does not contain everything, but (open source) authors are encourage to add their library to the mix.
Re:Announcing Rust 1.7 by clarus on Friday March 04, 2016 @02:37AM (#11222524)
Re:Announcing Rust 1.7 by berdario on Friday March 04, 2016 @03:04AM (#11222579)
I think that something similar is also done by the Chicken Scheme folks:

http://wiki.call-cc.org/eggref/4/salmonella#introduction

http://tests.call-cc.org/

Re:Announcing Rust 1.7 by aidenn0 on Friday March 04, 2016 @01:01AM (#11222299)
This has been one of the many benefits of quicklisp (a repository for common lisp packages); there is a test-grid maintained by Xach and he reports any breakages when there is a release candidate of a new sbcl.
Re:Announcing Rust 1.7 by wyldfire on Thursday March 03, 2016 @05:16PM (#11220488)
Does Crater ever find unstable tests that don't pass consistently on a good baseline? If so, do you just blacklist those packages and/or feedback improvements?

NM: after reading more carefully, it's clear that at least in the case where rust causes the "regression" you feedback the improvements, so likely the same for unstable tests.

Re:Announcing Rust 1.7 by nightpool on Thursday March 03, 2016 @08:50PM (#11221509)
Well, the "tests" here aren't actually tests—they're whether the package compiles or not. If the compiler is being inconsistent, that's a pretty big bug ;)
Re:Announcing Rust 1.7 by wyldfire on Friday March 04, 2016 @10:07AM (#11224174)
Ah, I thought it was doing "cargo test" to see if the compiled code had a functional regression. But that would be challenging to investigate regressions (especially in the face of unstable tests).