summaryrefslogtreecommitdiffstats
path: root/content/2013-11-23-this-week-in-rust.markdown
blob: 1a5bab854c7815a64c96b1319047643ad0ce2779 (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
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
Title: This Week in Rust 24
Date: 2013-11-23 17:58
Category: This Week in Rust

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

<!-- more -->

# What's cooking on master?

47 PRs were merged this week.

## Breaking Changes

- Non-ASCII identifiers are [feature
  gated](https://github.com/mozilla/rust/pull/10605), due to open questions
  about how it should be done. They aren't being removed, just deferred to
  post-1.0.
- Some more closure reform has gone through. `~fn` has been removed, [use
  `proc` instead](https://github.com/mozilla/rust/pull/10561). `&fn` is [also
  short for this world](https://github.com/mozilla/rust/pull/10568).
- `std::util::NonCopyable` had its dummy constructor
  [removed](https://github.com/mozilla/rust/pull/10575).
- All of the functions in rustrt [have been prefixed with
  `rust_`](https://github.com/mozilla/rust/pull/10440).
- Items inside functions [no longer accept privacy
  modifiers](https://github.com/mozilla/rust/pull/10443), since it is
  meaningless.
- Reachable `extern fn`s are [no longer marked
  internal](https://github.com/mozilla/rust/pull/10539).

## Other changes

- A `Gc<T>` stub [has been added](https://github.com/mozilla/rust/pull/10576).
  New code should use this instead of `@T`.
- `..` is now [the pattern to use](https://github.com/mozilla/rust/pull/10366)
  when ignoring multiple elements in a pattern.
- Stepping through `if` in a debugger [should be much smoother
  now](https://github.com/mozilla/rust/pull/10552).
- `rustpkg -O` [will now actually
  optimize](https://github.com/mozilla/rust/pull/10526) the package it is
  building.
- Did you know we can make tags files for the Rust codebase? `make
  TAGS.{vi,emacs}`! It no longer generates tags for [all of LLVM and
  libuv](https://github.com/mozilla/rust/pull/10508), too.
- The pidigits benchmark [has been
  resurrected](https://github.com/mozilla/rust/pull/10555).
- A native mutex type [now
  exists](https://github.com/mozilla/rust/pull/10479), and it doesn't depend
  on C++.
- Some more derived methods are [marked for
  inlining](https://github.com/mozilla/rust/pull/10557).
- A bunch more [native file IO](https://github.com/mozilla/rust/pull/10495)
  was implemented, too.
- We now have support for the [win64 calling
  convention](https://github.com/mozilla/rust/pull/10527). Additionally, the
  ABI of `extern fn`s is now actually used.
- The tutorial [now covers alternatives to
  ownership](https://github.com/mozilla/rust/pull/10589) much better.
- A lint for unsafe blocks [has been
  added](https://github.com/mozilla/rust/pull/10599).
- A minor bug with privacy [has been
  fixed](https://github.com/mozilla/rust/pull/10583).

## New Contributors

Our first-time contributors this week are:

- Dave Hodder
- Ian Daniher
- Isaac Dupree
- g3xzh

# Weekly Meeting

The [weekly
meeting](https://github.com/mozilla/rust/wiki/Meeting-weekly-2013-11-19)
discussed static linking, changing how `let _ = foo` is handled, task joining,
autoderef, and user-defined vector types.

# Announcements, etc

- A [new
  tutorial](http://adridu59.github.io/rust-tuts/) project
  has sprung up.

# Servo

Thanks to Lars Bergstrom for This Week in Servo! Servo is Rust's sister
project, and I think it's nice to be able to see a highlevel of its progress.
Maybe TWiS will graduate to a separate blog someday.

## This Week in Servo

Servo is a web browser engine written in Rust and is one of the primary test
cases for the Rust language. Starting this week, TWiR will include a status
update from Servo.

There were 14 landed PRs this week.

### Notable additions

- Patrick Walton rewrote flow construction so that we can make it incremental
  and parallelizable in https://github.com/mozilla/servo/pull/1271
- Ryan Choi added support for transparant PNG files in
  https://github.com/mozilla/servo/pull/1288
- Junyoung Cho added the ACID2 test file, which is one of the big focuses of
  the team over the coming months, in
  https://github.com/mozilla/servo/pull/1287
- In his first Servo PR, Adenilson Cavalcanti contributed a help message for
  the binary in https://github.com/mozilla/servo/pull/1277

### Meetings

Having spent the prior week at a workweek with Samsung in Korea (where there
were several presentations on both Rust and Servo!
https://github.com/mozilla/servo/wiki/Videos-and-presentations ), the meeting
was pretty light this week. It mainly [covered](
https://github.com/mozilla/servo/wiki/Meeting-2013-11-18 ) getting more formal
tracking of the work required for ACID2 and prioritizing Windows support.