Skip to content

Commit b90d2b1

Browse files
committed
Initial commit
0 parents  commit b90d2b1

File tree

64 files changed

+8499
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

64 files changed

+8499
-0
lines changed

.gitignore

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
*.pyc
2+
bin
3+
lib
4+
include
5+
themes
6+
output

cache/ArticlesGenerator-Readers

136 KB
Binary file not shown.

cache/PagesGenerator-Readers

49 Bytes
Binary file not shown.
Lines changed: 119 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,119 @@
1+
Title: This Week In Rust 1
2+
Date: 2013-06-07 18:46
3+
Tags: this-week-in-rust, rust, programming
4+
Category: This Week in Rust
5+
6+
Hello and welcome to the first issue of *This Week In Rust*, a weekly overview
7+
of Rust and its community. I'll be covering what's cooking in incoming,
8+
meeting summaries, meetups, and anything else pertinent. Any ideas, email them
9+
to me, <mailto:[email protected]>.
10+
11+
The Rust interns arrived this week and have got cracking right away. Big hello
12+
to Aaron Todd, Ben Blum, and Michael Sullivan! We can look forward to work all
13+
over the place, especially in the RT and debug-info.
14+
15+
<!-- more -->
16+
17+
# What's cooking in incoming?
18+
19+
There were 30 pull requests merged this week. A scattering of doc fixes and a
20+
bunch of code cleanups and optimization work as usual. Total issue churn
21+
(excludes pull requests) this week was +6.
22+
23+
## Notable additions, bugfixes, and cleanups
24+
25+
- Ben Striegel added the `as_c_str` string function as a method as part of the
26+
overall methodization covered by [6045][is6045].
27+
- James Miller landed a much better optimization pipeline in [6881][is6881],
28+
fixing a bunch of nascent optimization problems, especially with inlining,
29+
and also fixing an earlier (huge) regression (that he introduced,
30+
admittedly).
31+
- James also fixed [6977][is6977], which allowed nonsensical expressions like `[0,
32+
..-1]`. Whoops!
33+
- I introduced terminfo handling to `extra::term` in [6826][is6826], bringing
34+
rustc's beautiful colors to a wider audience. Unfortunately, it isn't
35+
complete yet and, most notably, does not handle `xterm-256color` correctly
36+
yet.
37+
- Daniel Micay landed jemalloc as the default allocator in the runtime,
38+
leading to nice allocation performance boosts on all platforms, as well as
39+
much improved multithreaded performance. It also has the benefit of
40+
cross-platform tuning and instrumentation.
41+
42+
## Breaking changes
43+
44+
It would be silly not to mention these changes, even though they weren't
45+
strictly this week:
46+
47+
- `libcore` was renamed to `libstd` and `libstd` was renamed to `libextra`, to
48+
better reflect their purpose. Confusingly, the code in rustc still uses the
49+
old names. Something to watch out for!
50+
- All of the module reexports were removed from the prelude, so if you use,
51+
for example, `io::foo`, `vec::foo`, etc, you will find yourself having to
52+
add a lot of extra imports. `use std::*` to regain the old behavior,
53+
more or less.
54+
- Patrick fixed the unsafe checker to safe code can no longer call unsafe
55+
methods.
56+
57+
This week:
58+
59+
- `pub impl` was removed by Patrick Walton as part of [6944][is6944]. What
60+
this did was have all `fn`s in a `pub impl` be `pub` by default. Now, you
61+
must explicitly specify `pub` on all `fn`s in the impl if you want them
62+
public.
63+
- Also in [6944][is6944], Patrick removed the ability to have multiple
64+
patterns appear in "let" declarations. For example: `let a = 4, b = 2;`
65+
becomes `let (a, b) = (4, 2);`
66+
- Daniel renamed the `Ptr` trait to `RawPtr` in [6913][is6913]
67+
- Daniel and Huon Wilson have been working on iterators a lot. In
68+
[6999][is6999], they start removing the `vec::each_*` functions, as the new
69+
iterator code in `std::iterator` is now mature enough for use.
70+
71+
# Meetings
72+
73+
There were two main meetings this week. Mostly discussion about DST, closures,
74+
and the GC. Lots of issues and details remain to be worked out, I suspoect it
75+
will still be a bit before anything final-looking comes up in a PR. See the
76+
[meeting][mtg1] [notes][mtg2] for more details.
77+
78+
# Meetups
79+
80+
- Erick Tryzelaar has a meetup planned in Mountain View on Wednesday, June 12,
81+
at 7pm. See the [ML thread][sanfran] for more details.
82+
- Tim Chevalier will be giving a talk titled "Rust: A Friendly Introduction"
83+
on Monday, June 17, 6-9pm in Portland. See [Calagator][rafi] for more details.
84+
85+
# Prominent blog posts and ML threads
86+
87+
- <https://mail.mozilla.org/pipermail/rust-dev/2013-June/004364.html>
88+
- <http://blog.pnkfx.org/blog/2013/06/07/detective-work-on-rust-closures/>
89+
- <http://smallcultfollowing.com/babysteps/blog/2013/06/03/more-on-fns/>
90+
- <http://smallcultfollowing.com/babysteps/blog/2013/06/06/reducing-dst-annotation/>
91+
- <http://pcwalton.github.io/blog/2013/06/02/removing-garbage-collection-from-the-rust-language/>
92+
93+
# Other announcements
94+
95+
- 10gen has some interns working on a MongoDB driver for Rust, which will be
96+
very nice to have. Good luck to them!
97+
- Brendan Zabarauskas has fixed `lmath`. It now works on incoming. Yay!
98+
99+
Brendan sent in a correction:
100+
101+
{% blockquote %}
102+
Unfortunately whilst it builds on incoming, due to a bug you can't use it in
103+
external crates. moonchrome and I am are working on fixing this but it will
104+
require us to remove the trait heirachy and use macros to generate each type
105+
(Vec3f, Vec3f32, ... etc.) individually instead. Integer and Boolean vector
106+
types (present in GLSL) will also be removed.
107+
{% endblockquote %}
108+
109+
[is6045]: https://github.com/mozilla/rust/issues/6045
110+
[is6881]: https://github.com/mozilla/rust/pull/6881
111+
[is6977]: https://github.com/mozilla/rust/issues/6977
112+
[is6826]: https://github.com/mozilla/rust/pull/6826
113+
[is6944]: https://github.com/mozilla/rust/pull/6944
114+
[is6913]: https://github.com/mozilla/rust/pull/6913
115+
[mtg1]: https://github.com/mozilla/rust/wiki/Meeting-weekly-2013-06-04
116+
[mtg2]: https://github.com/mozilla/rust/wiki/Meeting-2013-06-07
117+
[rafi]: http://calagator.org/events/1250464376
118+
[sanfran]: https://mail.mozilla.org/pipermail/rust-dev/2013-June/004356.html
119+
[is6999]: https://github.com/mozilla/rust/pull/6999
Lines changed: 139 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,139 @@
1+
Title: This Week In Rust 2
2+
Date: 2013-06-15 22:00
3+
Tags: this-week-in-rust, programming
4+
Category: This Week in Rust
5+
6+
Hello and welcome to the second issue of *This Week In Rust*, a weekly overview
7+
of Rust and its community. I'll be covering what's cooking in incoming,
8+
meeting summaries, meetups, and anything else pertinent.
9+
10+
I've decided to stop using real names and use irc/github names, simply because
11+
that is how I, and most everyone, interacts in the community.
12+
13+
<!-- more -->
14+
15+
# What's cooking in incoming?
16+
17+
There's been a lot of breakage on incoming this week, with jemalloc breaking
18+
32bit cross-compilation as well as random segfaults and stack corruption of
19+
unknown cause. Some heroics by the core devs have got it mostly cleaned up,
20+
though the tree is still rather chaotic. Meanwhile a handful of performance
21+
improvements have landed, and achricto rewrote `rusti`.
22+
23+
There were 17 pull requests merged this week. Total issue churn (excludes pull
24+
requests) this week was +2 (this excludes the 38 pull requests that were
25+
closed when incoming was killed).
26+
27+
## `incoming` branch annihilated
28+
29+
Goodbye `incoming`, hello `master`! This change, long in coming, unfortunately
30+
closed all open PRs. Start doing your development against `master` rather than
31+
incoming.
32+
33+
## Notable additions, bugfixes, and cleanups
34+
35+
There's a concerted effort to remove duplicate freestanding functions where
36+
possible.
37+
38+
- In [6986][is6986] bjz and jensnockert have cleaned up the numeric code some
39+
more, adding methods for existing things like `sin`, as well as adding a
40+
bunch of interpolation stuff.
41+
- steven_is_false added prototype dynamic library loading support in
42+
[7027][is7027], which should remove a lot of pain for people looking for
43+
easy dynamic loading. It currently doesn't work on Windows, so if you can
44+
sling Windows code, help would be appreciated!
45+
- In [7029][is7029] luqmana allows having multiple impl's add static methods,
46+
which previously did not work.
47+
- Eridius stepped up to [fix the terminfo code][tinfo], colors should be
48+
arriving to more people soon.
49+
- SiegeLord [improved the CSS][css] used by rustdoc with *huge* improvements.
50+
- sully has gotten default methods working for the most part, he is still
51+
testing cross-crate edge casses.
52+
- vadimcn [has fixed debuginfo][debug], and supposedly the GSoC intern is
53+
getting started on improving it next week.
54+
- doener has got [some nice][inline] [performance][cache] PRs in place.
55+
- aatch is working on [cleaning up trans][trans]. Huge thanks to him!
56+
57+
## Breaking changes
58+
59+
- dbaupp and strcat continue their cleanup of the standard library, removing
60+
the ad-hoc iterator functions where `std::iterator` can replace them.
61+
- All of the string functions that could be reasonably converted to methods
62+
have been.
63+
- If you're working in the stdlib, acrichto has toggled most of the lint
64+
settings to "deny" for std/extra, so watch out.
65+
66+
# Meetings
67+
68+
The [Tuesday meeting][tues] talked about bblum's [Effect proposal][eff],
69+
removing the master/incoming split, and "alloc expressions", a replacement for
70+
@-sigils.
71+
72+
The consensus on the effect proposal is that it needs investigation and
73+
wouldn't be landing in 1.0.
74+
75+
Discussion about master/incoming mostly centered on "master isn't always
76+
green, how can we add better coverage to bors' tests?" Consensus seems to be
77+
that removing incoming would be beneficial, but enabling more OS and valgrind
78+
coverage on bors would harmfully impact development speed.
79+
80+
The proposed syntax for alloc expressions is `new (provider) expr`, with `new
81+
expr` becoming the replacement for the current `~expr`. This would allow
82+
custom smart pointers. pcwalton ended the meeting with a huge cliff hanger
83+
84+
{% blockquote %}
85+
I've been meaning to talk a little bit today about simplifying the
86+
mut-borrowing story in regards to this, we may be able to effect a large
87+
simplification on the language
88+
{% endblockquote %}
89+
90+
Personally, I think [kimundi's proposal][kim] has a lot of promise, and the
91+
syntax is more pleasing to me. It wasn't brought up at the meeting, though.
92+
93+
# Meetups
94+
95+
- The Mountain View meetup was a great success. 18 showed up. erickt is
96+
planning for another SF Bay area meetup in July. If you want to give a
97+
presentation, send him your proposal and how long you need to put it
98+
together.
99+
- Tim Chevalier will be giving a talk titled "Rust: A Friendly Introduction"
100+
on Monday, June 17, 6-9pm in Portland. See [Calagator][rafi] for more
101+
details. This is a preview of a talk he will be giving at [Open Source
102+
Bridge][osb], also in Portland.
103+
104+
# Notable discourse
105+
106+
- Still more discussion about [iterators][iter], this time focusing around
107+
[changing the semantics][for] of the `for` loop.
108+
- Some discussion about [list comprehensions][listcomp], including initial
109+
proofs-of-concept.
110+
- Graydon explains hashing and versioning
111+
https://botbot.me/mozilla/rust/msg/3792753/
112+
- Principal author of 0install evaluates rust among other languages as a
113+
python replacement
114+
http://roscidus.com/blog/blog/2013/06/09/choosing-a-python-replacement-for-0install/
115+
- Niko thinks about parallelism
116+
http://smallcultfollowing.com/babysteps/blog/2013/06/11/data-parallelism-in-rust/
117+
- http://smallcultfollowing.com/babysteps/blog/2013/06/11/on-the-connection-between-memory-management-and-data-race-freedom/
118+
119+
# Other announcements
120+
121+
- bjz tells me lmath is *actually* fixed now, and is usable
122+
123+
[is6986]: https://github.com/mozilla/rust/pull/6986
124+
[is7027]: https://github.com/mozilla/rust/pull/7027
125+
[is7029]: https://github.com/mozilla/rust/pull/7029
126+
[tues]: https://github.com/mozilla/rust/wiki/Meeting-weekly-2013-06-11
127+
[kim]: https://gist.github.com/Kimundi/5744578
128+
[iter]: https://mail.mozilla.org/pipermail/rust-dev/2013-June/004364.html
129+
[rafi]: http://calagator.org/events/1250464376
130+
[for]: https://mail.mozilla.org/pipermail/rust-dev/2013-June/004465.html
131+
[listcomp]: http://www.reddit.com/r/rust/comments/1gag3t/list_comprehensions_in_rust_iterator/
132+
[css]: https://github.com/mozilla/rust/pull/7077
133+
[eff]: https://github.com/mozilla/rust/wiki/Proposal-for-effects
134+
[tinfo]: https://github.com/mozilla/rust/pull/7133
135+
[osb]: http://opensourcebridge.org/sessions/970
136+
[debug]: https://github.com/mozilla/rust/pull/7134
137+
[inline]: https://github.com/mozilla/rust/pull/7154
138+
[cache]: https://github.com/mozilla/rust/pull/7144
139+
[trans]: https://github.com/mozilla/rust/pull/7124

0 commit comments

Comments
 (0)