summaryrefslogtreecommitdiffstats
path: root/content/2013-07-21-this-week-in-rust.markdown
diff options
context:
space:
mode:
authorCorey Richardson <corey@octayn.net>2014-11-05 17:12:45 -0500
committerCorey Richardson <corey@octayn.net>2014-11-05 17:12:45 -0500
commitb90d2b10b0708aba718b121861d59555c6818295 (patch)
treec400703ca4f13b34d5ac09099560ebc2f1782f62 /content/2013-07-21-this-week-in-rust.markdown
Initial commit
Diffstat (limited to 'content/2013-07-21-this-week-in-rust.markdown')
-rw-r--r--content/2013-07-21-this-week-in-rust.markdown142
1 files changed, 142 insertions, 0 deletions
diff --git a/content/2013-07-21-this-week-in-rust.markdown b/content/2013-07-21-this-week-in-rust.markdown
new file mode 100644
index 0000000..e6345b0
--- /dev/null
+++ b/content/2013-07-21-this-week-in-rust.markdown
@@ -0,0 +1,142 @@
+Title: This Week in Rust 7
+Date: 2013-07-21 09:36
+Category: This Week in Rust
+
+Hello and welcome to the seventh issue of *This Week in Rust*, a weekly
+overview of Rust and its community. Things are calming down quite a bit, in
+that nothing extraordinarily exciting is happening. Lots of great work is
+being done everywhere, and good progress is being made in both bugfixes and
+cleanup. It has been a good week!
+
+<!-- more -->
+
+# What's cooking on master?
+
+Issue churn this week was -15. A total of 59 PRs were merged.
+
+## Breaking changes
+
+- **[The semantics of `range_rev` have
+ changed](https://github.com/mozilla/rust/pull/7684). This will break your
+ code without warning.** It is now, to use [interval
+ notation](https://en.wikipedia.org/wiki/Interval_%28mathematics%29#Notations_for_intervals),
+ `(hi, lo]` rather than `[hi, lo)`.
+- `pub extern` and `priv extern` [have been
+ removed](https://github.com/mozilla/rust/pull/7896) from the language. This
+ matches the previous similar change to `impl`. Place the visibility
+ qualifier (`pub`/`priv`) on each item in the `extern` block instead.
+- `&T` (besides `&'static T`) is [no longer allowed in
+ `@T`](https://github.com/mozilla/rust/pull/7894).
+- The `ThreadPerCore` spawn mode [has been
+ removed](https://github.com/mozilla/rust/pull/7856), as it doesn't make
+ sense with the new scheduler.
+- The `consume` methods of the hash containers [has been replaced with an
+ external iterator](https://github.com/mozilla/rust/pull/7833). The method
+ name is the same, though.
+- Moved values can [no longer be captured
+ twice](https://github.com/mozilla/rust/pull/7849). This was a blatant
+ soundness issue.
+- The `swap_unwrap` method of Option has been [renamed to
+ `take_unwrap`](https://github.com/mozilla/rust/pull/7831).
+- `debug!` statements [generate no
+ code](https://github.com/mozilla/rust/pull/7822) unless you pass `--cfg
+ debug` to `rustc`. This should help keep code size down and make your
+ programs a (tiny bit) faster. Now you don't have to feel bad about having
+ `debug!` in hot code.
+- The `mutate_values` method of HashMap [has been
+ removed](https://github.com/mozilla/rust/pull/7815).
+
+## Notable library additions, bugfixes, and cleanup
+
+- An iterator adaptor was added that [endlessly repeats the iterator it is
+ called on](https://github.com/mozilla/rust/pull/7882).
+- Generated test runners [now have a
+ `-h`/`--help`](https://github.com/mozilla/rust/pull/7840) option.
+- Metric capturing + racheting [has been
+ added](https://github.com/mozilla/rust/pull/7829) for benchmarks.
+- `local_data` [now has a
+ `get_mut`](https://github.com/mozilla/rust/pull/7841) function.
+- `extra::semver` [has been updated to SemVer
+ 2.0.0](https://github.com/mozilla/rust/pull/7726).
+- Consuming iterators [have been
+ added](https://github.com/mozilla/rust/pull/7806) for the hash structures.
+- `extra::ringbuf` [now implements
+ DoubleEndedIterator](https://github.com/mozilla/rust/pull/7808).
+- `Eq` [now has a default implementation of
+ `ne`](https://github.com/mozilla/rust/pull/7799).
+- `extra::term` [now knows how to handle more
+ attributes](https://github.com/mozilla/rust/pull/7716).
+- More containers [implement
+ FromIter](https://github.com/mozilla/rust/pull/7788). This means you can use
+ `.collect()` to gather the elements from an iterator into those containers.
+- [Task killing, failure, and exit code
+ propagation](https://github.com/mozilla/rust/pull/7858) in the new runtime
+ has been implemented.
+
+## Notable compiler additions, bugfixes, and cleanup
+
+- `syntax::attr` [has been
+ modernized](https://github.com/mozilla/rust/pull/7902).
+- [Tons of debuginfo work](https://github.com/mozilla/rust/pull/7710) from mw
+ this week!
+- Trait data structures [have been cleaned
+ up](https://github.com/mozilla/rust/pull/7886), as well as a default method
+ fix.
+- Intrinsics [now have much better
+ codegen](https://github.com/mozilla/rust/pull/7851).
+- A `no_implicit_prelude` attribute [has been
+ added](https://github.com/mozilla/rust/pull/7844), which prevents prelude
+ injection in the module heirarchy starting at the item which that attribute
+ is added to.
+- C-style enum variants are [now
+ allowed](https://github.com/mozilla/rust/pull/7827) in `[T, ..n]`
+ expressions.
+- All language items are [now
+ optional](https://github.com/mozilla/rust/pull/7828). The compiler emits an
+ error if a language item is used but not provided.
+- The removal of `spanned<T>` [has
+ begun](https://github.com/mozilla/rust/pull/7826).
+- Headers [have been removed](https://github.com/mozilla/rust/pull/7816) for
+ `~str` and `~[T]` where `T` is unmanaged.
+
+## Documentation, tools, and other stuff
+
+- rustpkg [now works when you don't give it a package
+ ID](https://github.com/mozilla/rust/pull/7419). It builds/installs/cleans
+ the package in the current directory, *iff* the current directory is in a
+ rustpkg workspace.
+- `--quiet` is [no longer passed](https://github.com/mozilla/rust/pull/7847)
+ to git during submodule operations, so you can see the progress of the huge
+ LLVM download.
+- Documentation of the [lint-controlling
+ attributes](https://github.com/mozilla/rust/pull/7823) was added.
+- rustpkg [now handles cloning from local git
+ repos](https://github.com/mozilla/rust/pull/7681).
+- The GtkSourceView highlighting file [was
+ improved](https://github.com/mozilla/rust/pull/7795).
+
+# Meetings
+
+The [Tuesday
+meeting](https://github.com/mozilla/rust/wiki/Meeting-weekly-2013-07-16)
+discussed nothing at all of importance.
+
+# Discussion + Blog posts
+
+- [A pure-Rust memory allocator
+ (malloc)](http://www.reddit.com/r/rust/comments/1ibd48/proofofconcept_pure_rust_malloc_implementation/)
+- [mw's fourth weekly
+ update](http://michaelwoerister.github.io/2013/07/12/Status-Update-4.html).
+- [mw's fifth weekly
+ update](http://michaelwoerister.github.io/2013/07/20/Status-Update-5.html)
+- [Discussion and slides from Niko's presentation at the Northeastern
+ University Programming Language
+ Seminar](http://www.reddit.com/r/rust/comments/1imeac/guaranteeing_memory_safety_in_rust_niko_matsakis/)
+- [A nightly Ubuntu
+ PPA](http://thread.gmane.org/gmane.comp.lang.rust.devel/4829)
+- [SIMD
+ discussion](http://www.reddit.com/r/rust/comments/1igvye/vision_for_rust_simd/)
+- [Rust on bare metal
+ ARM](https://mail.mozilla.org/pipermail/rust-dev/2013-July/004841.html)
+- [dherman's OSCON
+ presentation](http://www.oscon.com/oscon2013/public/schedule/detail/28741)