Skip to content

Commit ccd8e95

Browse files
committed
Merge pull request #3 from cmr/master
merge master
2 parents 662b870 + 344098d commit ccd8e95

File tree

5 files changed

+234
-90
lines changed

5 files changed

+234
-90
lines changed

README.md

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
11
this-week-in-rust
22
=================
33

4-
Data for this-week-in-rust.org
4+
Content for this-week-in-rust.org. Made available under CC-BY-SA.
5+
6+
All code Copyright 2014 Corey Richardson, made available under [the MIT
7+
license](http://mit-license.org/).
58

69
## How I get PR lists:
710

@@ -29,4 +32,4 @@ Use the included `new_contribs.sh` script:
2932

3033
```
3134
pelican content -s pelicanconf.py
32-
```
35+
```

content/2014-11-10-this-week-in-rust.markdown

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@ Anderson](https://github.com/brson/) and [Alexis Beingessner](https://github.com
131131
* whataloadofwhat
132132

133133
# Approved RFC's
134-
* [Num reform](https://github.com/rust-lang/rfcs/blob/master/text/0418-struct-variants.md): Strips down `std::num` to minimally support generic primitive numbers, without supporting a full mathematical hierarchy.
134+
* [Num reform](https://github.com/rust-lang/rfcs/blob/master/text/0369-num-reform.md): Strips down `std::num` to minimally support generic primitive numbers, without supporting a full mathematical hierarchy.
135135
* [Higher-ranked trait bounds](https://github.com/rust-lang/rfcs/blob/master/text/0387-higher-ranked-trait-bounds.md): Add the ability to have trait bounds that are polymorphic over lifetimes. Necessary for unboxed closures.
136136
* [un-feature-gating struct variants](https://github.com/rust-lang/rfcs/blob/master/text/0418-struct-variants.md): Woo!
137137
* [Multiple lifetime bounds](https://github.com/rust-lang/rfcs/blob/master/text/0192-bounds-on-object-and-generic-types.md): Removes special cases from the type system and allows more complex lifetime relationships to be expressed that were previously only inferable.
@@ -142,7 +142,7 @@ Anderson](https://github.com/brson/) and [Alexis Beingessner](https://github.com
142142
* [Macro reform](https://github.com/rust-lang/rfcs/pull/453): Prepares macros for 1.0 stabilization. Renames `macro_rules!` to `macro!`, and introduces more robust support for module importing and exporting.
143143
* [Change integer fallback RFC to suggest `i32` instead of `int` as the fallback](https://github.com/rust-lang/rfcs/pull/452): Changes the fallback for performance and portability.
144144
* [Un-feature-gate if let and tuple indexing](https://github.com/rust-lang/rfcs/pull/450): The features are well-behaved and used by many projects; ship 'em!
145-
* [Prohibit unused type parameters in impls](https://github.com/rust-lang/rfcs/pull/453): Require that every impl type parameter appears textually within the input type parameters of the trait reference or the impl self type.
145+
* [Prohibit unused type parameters in impls](https://github.com/rust-lang/rfcs/pull/447): Require that every impl type parameter appears textually within the input type parameters of the trait reference or the impl self type.
146146
* [ES6-style unicode string escaping](https://github.com/rust-lang/rfcs/pull/446): Remove `\u203D` and `\U0001F4A9` unicode string escapes, and add ECMAScript 6-style `\u{1F4A9}` escapes instead. Strong positive feedback, some concern with how it interacts with format strings.
147147
* [extension trait conventions](https://github.com/rust-lang/rfcs/pull/445): Establishes a definition and naming convention for extension traits: traits which aren't intended for generic programing, but instead extending existing types. If extending a `Foo`, use `FooExt`. If Extending a `Foo` when it impls another trait like `Add`, use `FooAddExt`.
148148
* [cmp and ops reform](https://github.com/rust-lang/rfcs/pull/439): Refactors `Cmp` and the operator overloading traits. Generally positive feedback. Highlights include:
Lines changed: 226 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,226 @@
1+
Title: This Week in Rust 57
2+
Date: 2014-11-17
3+
Category: This Week in Rust
4+
5+
Hello and welcome to another issue of *This Week in Rust*!
6+
[Rust](http://rust-lang.org) is a systems language pursuing the trifecta:
7+
safe, concurrent, and fast. This is a weekly summary of its progress and
8+
community. Want something mentioned? [Send me an
9+
email!](mailto:[email protected]?subject=This%20Week%20in%20Rust%20Suggestion)
10+
Want to get involved? [We love
11+
contributions](https://github.com/mozilla/rust/wiki/Note-guide-for-new-contributors).
12+
13+
# What's cooking on master?
14+
15+
55 pull requests were [merged in the last week][1].
16+
17+
[1]: https://github.com/rust-lang/rust/pulls?q=is%3Apr+is%3Amerged+updated%3A2014-11-10..2014-11-17
18+
19+
## Breaking Changes
20+
21+
* Struct variants are [no longer feature-gated][structvars]. At the
22+
same time, struct variants no longer support visibility modifiers,
23+
for consistency with other variants. [RFC][structvars-rfc].
24+
* The `time` crate, which is widely considered to be of poor quality,
25+
has been [moved out of the distribution][time], but can still be
26+
accessed via cargo.
27+
* The new task pool that [reem announced on reddit][tp-reddit] earlier
28+
in the week was speedily [merged into the tree][tp], replacing the
29+
old `TaskPool`. It includes some breaking API changes.
30+
* The compiler now treats `()` not as a distinct 'unit' type but as a
31+
[zero-length tuple][unit] (though the docs continue to allow that
32+
`()` may be referred to as 'unit'). This may cause breakage for
33+
macros that expect `()` to be a literal, whereas now it is an
34+
expression.
35+
* `io::Buffer` has been [refactored to be object-safe][buffer], moving
36+
some methods into other traits.
37+
* The `Extendable` trait for extending a collection via an `Iterator`
38+
has been [renamed][extend] to `Extend`, and can now be used with
39+
`EnumSet` and `LruCache`.
40+
* The old 'once_fns' feature gate has been [removed][once] (everybody
41+
thought it had been removed long ago). This is unrelated to the
42+
modern `FnOnce` type.
43+
44+
[extend]: https://github.com/rust-lang/rust/pull/18475
45+
[once]: https://github.com/rust-lang/rust/pull/18743
46+
[time]: https://github.com/rust-lang/rust/pull/18858
47+
[unit]: https://github.com/rust-lang/rust/pull/18752
48+
[buffer]: https://github.com/rust-lang/rust/pull/18788
49+
[tp]: https://github.com/rust-lang/rust/pull/18941
50+
[tp-reddit]: https://www.reddit.com/r/rust/comments/2ltjwm/a_loadbalancing_taskpool_resistant_to_child_panics/
51+
[structvars]: https://github.com/rust-lang/rust/pull/18994
52+
[structvars-rfc]: https://github.com/rust-lang/rfcs/blob/master/text/0418-struct-variants.md
53+
54+
## Other Changes
55+
56+
* BTree [implements][btree] the [collection views][view-rfc] API.
57+
* The `#[stable]` attribute is [no longer inherited][stable] by child
58+
AST elements. This is intended to reduce the risk of accidentally
59+
marking things stable.
60+
* `AsRefReader` and `AsRefWriter` have been [renamed][asref] to
61+
`ByRefReader` and `ByRefWriter` for consistency with their method
62+
names. The original types remain and are deprecated.
63+
* Performance of `RingBuf` has [improved][ringbuf]. Some subsequent
64+
[reddit discussion][ringbuf-reddit] lamented the introduction of
65+
unsafe code.
66+
* On Windows, rustc [once again prefers the bundled MinGW linker][win]
67+
over any system-installed MinGW linker in an attempt to make Rust on
68+
Windows cause the fewest surprises.
69+
70+
[btree]: https://github.com/rust-lang/rust/pull/18287
71+
[view-rfc]: https://github.com/rust-lang/rfcs/blob/master/text/0216-collection-views.md
72+
[stable]: https://github.com/rust-lang/rust/pull/18887
73+
[asref]: https://github.com/rust-lang/rust/pull/18891
74+
[ringbuf]: https://github.com/rust-lang/rust/pull/18747
75+
[ringbuf-reddit]: https://www.reddit.com/r/rust/comments/2mfcuk/ringbuf_remove_optiont/
76+
[win]: https://github.com/rust-lang/rust/pull/18797
77+
78+
## New Contributors
79+
80+
* Adam Szkoda
81+
* Artem
82+
* Barosl Lee
83+
* Ian Connolly
84+
* Jeff Parsons
85+
* Josh Haberman
86+
* Josh Stone
87+
* Murarth
88+
* Ricky Taylor
89+
90+
# Approved RFC's
91+
92+
* [RFC 369: Numerics reform][num]. Conservatively dismantle the
93+
numeric trait heirarchy for later reconsideration. [PR][num-pr].
94+
* [RFC 380: Stabilize std::fmt][fmt]. Primarily stabilizes the user-facing
95+
formatting syntax, while leaving the library APIs
96+
unstable. [PR][fmt-pr].
97+
98+
[num]: https://github.com/rust-lang/rfcs/blob/master/text/0369-num-reform.md
99+
[num-pr]: https://github.com/rust-lang/rfcs/pull/369
100+
[fmt]: https://github.com/rust-lang/rfcs/blob/master/text/0380-stabilize-std-fmt.md
101+
[fmt-pr]: https://github.com/rust-lang/rfcs/pull/380
102+
103+
# New RFC's
104+
105+
* [RFC 457: Version attribute][457]. Provides a mechanism for
106+
identifying which version of the language a given source corresponds
107+
to.
108+
* [RFC 458: Improve the `Send` trait][458]. This RFC proposes
109+
extending the Send trait in some relatively small but backwards
110+
incompatible ways, to allow more safe behaviors to be exposed in
111+
Rust's type system. In particular, this involves removing the
112+
'static bound from Send in a way that preserves thread safety.
113+
* [RFC 459: Disallow type/lifetime parameter shadowing][459]. Source
114+
of confusing bugs.
115+
* [RFC 461: Add a thread-local storage module][461]. Another TLS
116+
design.
117+
* [RFC 462: Future-proof `box` and `&` patterns][462]. Futureproof box
118+
patterns by renaming them to deref. In an effort to consolidate box
119+
and & patterns, change the latter to use the deref syntax as well,
120+
in recognition of them being semantically equivalent to box
121+
patterns. Make the newly introduced deref keyword a non-strict
122+
keyword.
123+
* [RFC 463: Restrict identifiers after literals][463]. Futureproofing.
124+
* [RFC 464: Rename uint/int][464]. Latest in a series of RFC's to
125+
discourage use of pointer-sized integers as the 'default' type.
126+
127+
[457]: https://github.com/rust-lang/rfcs/pull/457
128+
[458]: https://github.com/rust-lang/rfcs/pull/458
129+
[459]: https://github.com/rust-lang/rfcs/pull/459
130+
[461]: https://github.com/rust-lang/rfcs/pull/461
131+
[462]: https://github.com/rust-lang/rfcs/pull/462
132+
[463]: https://github.com/rust-lang/rfcs/pull/463
133+
[464]: https://github.com/rust-lang/rfcs/pull/464
134+
135+
# Community
136+
137+
## From the Team
138+
139+
* [Weekly-meetings/2014-11-11][mtg]: fott; std::fmt; default typarams; rfc authors; 'coerce' vs. 'view', etc.; precent of + in type grammar; jemalloc. [Reddit][mtg-reddit].
140+
* [Brian Koropoff (unwound) is a friend of the tree!][fott]
141+
* [Allocators in Rust][alloc]: Niko attempts to lay out the tradeoffs
142+
involved in integrating jemalloc with
143+
Rust. [Reddit][alloc-reddit]. [HN][alloc-hn].
144+
145+
146+
[mtg]: https://github.com/rust-lang/meeting-minutes/blob/master/weekly-meetings/2014-11-11.md
147+
[mtg-reddit]: https://www.reddit.com/r/rust/comments/2me6r7/rustupps1_a_rustupsh_equivalent_for_windows/
148+
[alloc]: http://smallcultfollowing.com/babysteps/blog/2014/11/14/allocators-in-rust/
149+
[alloc-reddit]: https://www.reddit.com/r/rust/comments/2mcew2/allocators_in_rust_from_nmatsakiss_blog/
150+
[alloc-hn]: https://news.ycombinator.com/item?id=8612430
151+
[fott]: https://github.com/rust-lang/rust/wiki/Doc-friends-of-the-tree#2014-11-11-brian-koropoff-unwound
152+
153+
## Blog Posts
154+
155+
* [Two hours after Rust][two]. Reports from a new Rust user. [Reddit][two-reddit].
156+
* [Rust Serialization part 2.1: now with more benchmarks: Cap'n Proto, MessagePack, and Protobuf][bench]. [Reddit][bench-reddit].
157+
* [Serialization part 2.2: Everything's faster (especially capn proto)][bench2]. [Reddit][bench2-reddit].
158+
* [Go vs. Rust: Productivity vs. Performance][govr]. [Reddit][govr-reddit].
159+
160+
[two]: http://jbowles.github.io/lambda-bowles/programs/two-hours-after-rust/
161+
[two-reddit]: https://www.reddit.com/r/rust/comments/2ly7q8/two_hours_after_rust/
162+
[bench]: http://erickt.github.io/blog/2014/11/11/benchmarks/
163+
[bench-reddit]: https://www.reddit.com/r/rust/comments/2lzc9n/rust_serialization_part_21_now_with_more/
164+
[bench2]: http://erickt.github.io/blog/2014/11/13/benchmarks-2/
165+
[bench2-reddit]: https://www.reddit.com/r/rust/comments/2m72br/serialization_part_22_everythings_faster/
166+
[govr]: http://joshitech.blogspot.com/2014/11/go-vs-rust-productivity-vs-performance.html
167+
[govr-reddit]: https://www.reddit.com/r/rust/comments/2maqi7/go_vs_rust_productivity_vs_performance/
168+
169+
## Discussions
170+
171+
* [Closures vs. Unboxed Closures][cl]. Useful explanation for the uninitiated.
172+
* [Where is artithmetic (signed) right-shift][sh]. (A: `>>` is either arithmetic or logical based on type).
173+
* `Foo::new()` vs. `Foo()`, both on [discuss][ctor-discuss] and [Reddit][ctor-reddit].
174+
* ["Hello, world" on a PSP via Rust!][psp]. Another supreme hack from Luqman. Nice use of [target specs].
175+
* [Does Rust have anything like C# async await][await]. Take 20.
176+
* [`std::sync::Future` is almost useless for async processing][future]. (`Future` is ancient and unloved).
177+
* [Single-source GPU support][gpu]. An inquiry about the prospects of compiling Rust to GPUs.
178+
* [Experienced users: how easy is Rust's memory management system to use?][mm]. Mostly gushing about how awsome Rust is (seconded!).
179+
* [Pre RFC: Remove `FromError` trait, add `From` trait][from]
180+
181+
[cl]: https://www.reddit.com/r/rust/comments/2lo6yt/closures_vs_unboxed_closures/
182+
[sh]: https://www.reddit.com/r/rust/comments/2lp3il/where_is_arithmetic_signed_rightshift/
183+
[ctor-discuss]: http://discuss.rust-lang.org/t/poll-foo-new-vs-foo-as-the-default-constructor/758
184+
[ctor-reddit]: https://www.reddit.com/r/rust/comments/2lvrf5/foonew_vs_foo_as_the_default_constructor/
185+
[psp]: https://www.reddit.com/r/rust/comments/2m10id/hello_world_on_a_psp_via_rust/
186+
[target specs]: https://github.com/rust-lang/rfcs/blob/master/text/0131-target-specification.md
187+
[await]: https://www.reddit.com/r/rust/comments/2m5rin/does_rust_have_something_like_c_async_wait/
188+
[future]: https://www.reddit.com/r/rust/comments/2m64o5/stdsyncfuture_is_almost_useless_for_async/
189+
[gpu]: http://discuss.rust-lang.org/t/single-source-gpu-support/898
190+
[mm]: https://www.reddit.com/r/rust/comments/2m9qw9/experienced_users_how_easy_is_rusts_memory/
191+
[from]: http://discuss.rust-lang.org/t/pre-rfc-remove-fromerror-trait-add-from-trait/783
192+
193+
## New Projects
194+
195+
* [rust-id3 and rust-metaflac][id3]. Reading and writing audio file metadata.
196+
* [rust-resistant-taskpool][taskpool]. A load-balancing task pool.
197+
* [Rust-Welder]. Experiments with error interop. [Second discussion][Rust-Welder2].
198+
* [json_macros]. Create JSON via Rust syntax.
199+
* [rust-bitfield]. A macro to generate bitfields.
200+
* [rust-smtp]. SMTP client.
201+
* [yaglw]. Yet another high-level OpenGL wrapper.
202+
* [rustup.ps1]. A rustup.sh equivalent for Windows, installs Cargo
203+
alongside Rust, which the Rust installer currently fails to do.
204+
205+
[id3]: https://www.reddit.com/r/rust/comments/2lsfrd/rustid3_and_rustmetaflac_libraries_to_read_and/
206+
[taskpool]: https://www.reddit.com/r/rust/comments/2ltjwm/a_loadbalancing_taskpool_resistant_to_child_panics/
207+
[Rust-Welder]: https://www.reddit.com/r/rust/comments/2lwciy/feedback_and_discussion_wanted_rustwelder_a_crate/
208+
[Rust-Welder2]: https://www.reddit.com/r/rust/comments/2m84s1/updated_rustwelder_errorresult_handling/
209+
[json_macros]: https://www.reddit.com/r/rust/comments/2m3bjj/json_macros_construct_json_objects_in_rust_from/
210+
[rust-bitfield]: https://www.reddit.com/r/rust/comments/2m82o9/a_procedural_macro_to_generate_bitfieldlike_stuct/
211+
[rust-smtp]: https://www.reddit.com/r/rust/comments/2m8nla/rust_smtp_client_looking_for_feedback/
212+
[yaglw]: https://www.reddit.com/r/rust_gamedev/comments/2m7l9a/yaglw_yet_another_opengl_wrapper/
213+
[rustup.ps1]: https://www.reddit.com/r/rust/comments/2me6r7/rustupps1_a_rustupsh_equivalent_for_windows/
214+
215+
## Project Updates
216+
217+
* [This Week in Servo 11][twis].
218+
* Piston has [seen some refactoring][pist] to how it handles event loops and windows.
219+
220+
[twis]: http://blog.servo.org/2014/11/11/twis-11/
221+
[pist]: https://www.reddit.com/r/rust_gamedev/comments/2m7k6v/piston_update_glutin_loop/
222+
223+
## Upcoming Meetups
224+
225+
* [Rust Paris, Nov 17](http://www.meetup.com/Rust-Paris/events/185461312/)
226+
* [Rust Bay Area: Cryptography and Rust, December 18th](http://www.meetup.com/Rust-Bay-Area/events/210632582/)

drafts/2014-11-17-this-week-in-rust.md

Lines changed: 0 additions & 86 deletions
This file was deleted.

themes/pelican-elegant-1.3/templates/footer.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
<li class="elegant-license">{{ SITE_LICENSE }}</li>
99
{% endif %}
1010
<li class="elegant-power">Powered by <a href="http://getpelican.com/" title="Pelican Home Page">Pelican</a>. Theme: <a href="http://oncrashreboot.com/pelican-elegant" title="Theme Elegant Home Page">Elegant</a> by <a href="http://oncrashreboot.com" title="Talha Mansoor Home Page">Talha Mansoor</a></li>
11+
<a rel="license" href="http://creativecommons.org/licenses/by-sa/4.0/"><img alt="Creative Commons License" style="border-width:0" src="https://i.creativecommons.org/l/by-sa/4.0/88x31.png" /></a><br />This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-sa/4.0/">Creative Commons Attribution-ShareAlike 4.0 International License</a>.
1112
</ul>
1213
</div>
1314
</footer>

0 commit comments

Comments
 (0)