Most importantly, the finished MIR revolution [0] will finally allow developers to focus on new exciting features, like ergonomic "impl Trait" [1], incremental compilation, or even the beginnings of Gc [2].
I was surprised to hear this and immediately thought "but why would you do such a thing!?" but I read the blog post and I'm impressed with the forethought that I certainly lacked. This is freaking genius.
Adding to_degrees() and to_radians() methods to f32 and f64 seems a little out of place, considering f32 and f64 are numbers without units. Why not include to_celsius() and to_fahrenheit() then?
> We’re excited about features like MIR becoming the default and the beginnings of incremental compilation, and the 1.11 release has laid the groundwork.
The changelog is silent about these two points, so does it mean that -Z orbit defaults to "on" in 1.11 and -Z incremental can be used in 1.11?
I think it's on in the 1.12 beta, which was also published today. The orbit switch was switched on during the cycle that just ended, so I'd be surprised if it was already on on the stable.
We're working on the new book because the old book isn't as good as it could be, but that doesn't mean it's bad: a lot of people have told me that they really love it. But I am hyper-critical of my own work, and there's a lot of ways you can improve something that's already good :)
As you can see, the new book isn't really far enough along to fully teach you Rust yet. I would maybe check out the new material first, and then just read the existing book afterwards.
Servo's compile time went down by about 20% or so. We think that it's because non-zeroing drop enabled LLVM's memcpy optimizer (which is currently pretty fragile pending the MemorySSA rewrite) to do a better job.
As with any large-scale change, it depends. We did testing across the ecosystem before turning it on by default (that will be in a future release, not 1.11) and there weren't any major regressions, at least. Some small improvements are there.
Why a major OS would need to be "picking up Rust as a first class citizen"? What does that even mean?
So far no major OS has picked C++, Java or any other language than C as a first class citizen either. All of the OS related loadable library APIs are still C.
Doesn't seem to slow down any of those languages, though.
2. I'd be interested to know why Servo is a "pipe dream".
3. Why does a major OS need to pick up Rust as a "first class citizen", when they haven't done so for JavaScript, Java, Python, PHP, Ruby, Go, D, Scala, Haskell, Lua, Clojure, etc. etc.?
Firefox and Mozilla might very well go down but Rust can stand on its own. Not sure however what "first class citizen" for a programming language on an OS means. Can you clarify?
[+] [-] nercury|9 years ago|reply
[0]: https://github.com/rust-lang/rust/pull/35764
[1]: https://github.com/rust-lang/rust/issues/34511
[2]: http://manishearth.github.io/blog/2016/08/18/gc-support-in-r...
[+] [-] BinaryIdiot|9 years ago|reply
I was surprised to hear this and immediately thought "but why would you do such a thing!?" but I read the blog post and I'm impressed with the forethought that I certainly lacked. This is freaking genius.
[+] [-] masklinn|9 years ago|reply
[+] [-] cpeterso|9 years ago|reply
[+] [-] widdma|9 years ago|reply
More to the point, though, is 'sin' and 'cos' are also methods, so having 'to_degrees' as a method seems reasonable.
[+] [-] ben0x539|9 years ago|reply
[+] [-] petters|9 years ago|reply
[+] [-] kbenson|9 years ago|reply
[+] [-] yarper|9 years ago|reply
[+] [-] steveklabnik|9 years ago|reply
[+] [-] monomaniar|9 years ago|reply
[+] [-] kenOfYugen|9 years ago|reply
"With this PR a "hello world" cdylib is 7.2K while the same dylib is 2.4MB, which is some nice size savings!" [1]
1. https://github.com/rust-lang/rust/pull/33553#issue-154141126
[+] [-] weinzierl|9 years ago|reply
The changelog is silent about these two points, so does it mean that -Z orbit defaults to "on" in 1.11 and -Z incremental can be used in 1.11?
[+] [-] GolDDranks|9 years ago|reply
[+] [-] Perceptes|9 years ago|reply
As always, I've updated my Docker image: https://hub.docker.com/r/jimmycuadra/rust/ (available on quay.io also if you prefer that)
The tags "latest" and "1.11.0" are now both Rust 1.11.
[+] [-] Scorpil|9 years ago|reply
[+] [-] mhaymo|9 years ago|reply
> When calling sum and a primitive integer type is being returned, this method will panic if the computation overflows.
I thought Rust's strategy for numeric overflow is to panic only in debug mode. Has that strategy changed or is this a special case?
[+] [-] steveklabnik|9 years ago|reply
[+] [-] vvanders|9 years ago|reply
Nice! This one bit me pretty bad when first getting into Rust so it's nice to see it improved.
[+] [-] oDot|9 years ago|reply
[+] [-] steveklabnik|9 years ago|reply
You can check out the new book here: http://rust-lang.github.io/book/
We're working on the new book because the old book isn't as good as it could be, but that doesn't mean it's bad: a lot of people have told me that they really love it. But I am hyper-critical of my own work, and there's a lot of ways you can improve something that's already good :)
As you can see, the new book isn't really far enough along to fully teach you Rust yet. I would maybe check out the new material first, and then just read the existing book afterwards.
[+] [-] biokoda|9 years ago|reply
If you ask me it's better. Assuming you are not new to programming.
[+] [-] markus2012|9 years ago|reply
So much win.
[+] [-] theseoafs|9 years ago|reply
[+] [-] pcwalton|9 years ago|reply
[+] [-] steveklabnik|9 years ago|reply
For example: https://github.com/rust-lang/rust/pull/34096#issuecomment-22...
[+] [-] kzrdude|9 years ago|reply
[+] [-] Keyframe|9 years ago|reply
--HEAD just hangs forever on 'Checking out branch master' for some reason for me.
[+] [-] PascalW|9 years ago|reply
https://www.rustup.rs
[+] [-] unknown|9 years ago|reply
[deleted]
[+] [-] sdegutis|9 years ago|reply
[deleted]
[+] [-] vardump|9 years ago|reply
So far no major OS has picked C++, Java or any other language than C as a first class citizen either. All of the OS related loadable library APIs are still C.
Doesn't seem to slow down any of those languages, though.
[+] [-] pcwalton|9 years ago|reply
2. I'd be interested to know why Servo is a "pipe dream".
3. Why does a major OS need to pick up Rust as a "first class citizen", when they haven't done so for JavaScript, Java, Python, PHP, Ruby, Go, D, Scala, Haskell, Lua, Clojure, etc. etc.?
[+] [-] the_mitsuhiko|9 years ago|reply
[+] [-] cageface|9 years ago|reply
[+] [-] executesorder66|9 years ago|reply
Those guys are insanely good. And you can help them make redox a major OS by contributing.
[+] [-] steveklabnik|9 years ago|reply