summaryrefslogtreecommitdiffstats
path: root/content/2013-11-19-this-week-in-rust.markdown
blob: 72a626341dea735f4711b3dc0901b682b0ec2810 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
Title: This Week in Rust 23
Date: 2013-11-19 01:42
Category: This Week in Rust

Welcome to another issue of *This Week in Rust*.

<!-- more -->

# What's cooking on master?

46 PRs were merged this week.

## Breaking changes

- `std::rt::io` [has moved on](https://github.com/mozilla/rust/pull/10423) to
  become `std::io`. Yay!
- The `#[fixed_stack_segment]` attribute [has been
  removed](https://github.com/mozilla/rust/pull/10407).
- `as` casts to functions are [no longer
  allowed](https://github.com/mozilla/rust/pull/9788).
- The return value of the `io::process` is no longer an int, but [an enum that
  also represents termination by
  signal](https://github.com/mozilla/rust/pull/10109). It's also ostensibly
  more portable: to check if a subprocess succeeded, just call `.success()` on
  the return value.
- `std::cast::unsafe_copy` has [has been
  removed](https://github.com/mozilla/rust/pull/10497). It is identical to
  `std::ptr::read_ptr`.
- Trailing `::` is [no longer
  allowed](https://github.com/mozilla/rust/pull/10420) in paths

## Other Changes

- Vectors have [more overflow
  checking](https://github.com/mozilla/rust/pull/10417). This was the cause
  of a few mysterious segfaults.
- Crate maps [can now be generated for
  libraries](https://github.com/mozilla/rust/pull/10422), for when you want to
  embed a Rust library in a non-Rust application.
- Creation of buffered readers/writers [has been optimized a
  bit](https://github.com/mozilla/rust/pull/10424).
- If you use OS X, you'll be happy to see that the frivolous "no debug symbols
  in executable" warning [has been stomped
  out](https://github.com/mozilla/rust/pull/10198).
- The missing-documentation lint is [now more
  accepting](https://github.com/mozilla/rust/pull/10277), and won't warn about
  private items.
- `BufWriter`, an implementation of Writer for already-existing buffers, [is
  now implemented](https://github.com/mozilla/rust/pull/10451).
- The native IO backend has seen [a good
  boost](https://github.com/mozilla/rust/pull/10457); it will now be
  seamlessly fallen back to when the libuv backend isn't available (you can
  test this out by adding `#[no_uv];` to your crates).
- A lint for numeric literals which overflow their type [has been
  implemented](https://github.com/mozilla/rust/pull/10018).
- A `Buffer` trait [has been
  added](https://github.com/mozilla/rust/pull/10466) to `std::io`, with
  `read_line`, `read_until`, and `read_char`.
- The error message when the trait's method declaration and the method
  declaration in the implementation aren't the same [now includes the trait
  name](https://github.com/mozilla/rust/pull/10509).
- The libuv bindings were [largely
  rewritten](https://github.com/mozilla/rust/pull/10321) for performance, at
  the sacrifice of some flexibility (which was of questionable value).
- `_`-prefixed variables [no
  longer](https://github.com/mozilla/rust/pull/10518) get an unused `mut`
  warning.

## New Contributors

Our first-time contributors this week are:

- Jaemin Moon
- Jay Anderson
- Joe Schafer
- Matthew Iselin
- Zach Kamsler

# Weekly Meeting

There was no meeting this week, as a bunch of the core developers were in
South Korea for the Servo workweek with Samsung.

## Announcements etc

- [(ML) Rethinking Linking in
  Rust](https://mail.mozilla.org/pipermail/rust-dev/2013-November/006686.html)
- [(ML) The future of M:N
  threading](https://mail.mozilla.org/pipermail/rust-dev/2013-November/006550.html)
- [(ML) Type system
  thoughts](https://mail.mozilla.org/pipermail/rust-dev/2013-November/006714.html)
- [(ML)Changing
  roles](https://mail.mozilla.org/pipermail/rust-dev/2013-November/006431.html),
  Tim's "going-away" post. He did great work on rustpkg, and I hope he finds
  time to continue to contribute to Rust.
- [Booting to Rust (with
  UEFI)](http://blog.theincredibleholk.org/blog/2013/11/18/booting-to-rust/)
- [Treating Vectors Like Any Other
  Container](http://smallcultfollowing.com/babysteps/blog/2013/11/14/treating-vectors-like-any-other-container/)
- [Moving forward with Rust
  website](http://adrientetar.legtux.org/blog_fr.php?post=0)