Skip to content

Commit ef119f4

Browse files
committed
Formatting and new contribs for 2014-11-10
1 parent 2c4558b commit ef119f4

File tree

1 file changed

+36
-69
lines changed

1 file changed

+36
-69
lines changed

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

Lines changed: 36 additions & 69 deletions
Original file line numberDiff line numberDiff line change
@@ -115,110 +115,83 @@ contributions](https://github.com/mozilla/rust/wiki/Note-guide-for-new-contribut
115115

116116
# Approved RFC's
117117
* [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.
118-
119118
* [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.
120-
121119
* [un-feature-gating struct variants](https://github.com/rust-lang/rfcs/blob/master/text/0418-struct-variants.md): Woo!
122-
123120
* [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 makes more complex lifetime relationships be expressed that were previously only inferable.
124121

125122

126123

127124
# New RFC's
128125
* [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.
129-
130126
* [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.
131-
132127
* [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!
133-
134128
* [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.
135-
136129
* [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.
137-
138130
* [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`.
139-
140131
* [cmp and ops reform](https://github.com/rust-lang/rfcs/pull/439): Refactors `Cmp` and the operator overloading traits. Generally positive feedback. Highlights include:
141-
* Make basic unary and binary operators work by value and use associated types.
142-
* Generalize comparison operators to work across different types; drop Equiv.
143-
* Refactor slice notation in favor of range notation so that special traits are no longer needed.
144-
* Add IndexSet to better support maps.
145-
* Clarify ownership semantics throughout.
146-
132+
* Make basic unary and binary operators work by value and use associated types.
133+
* Generalize comparison operators to work across different types; drop Equiv.
134+
* Refactor slice notation in favor of range notation so that special traits are no longer needed.
135+
* Add IndexSet to better support maps.
136+
* Clarify ownership semantics throughout.
147137
* [Change precedence of `+` in type grammar](https://github.com/rust-lang/rfcs/pull/438): Update type grammar to make `+` have lower precedence, consistent with the expression grammar, resolving a grammatical ambiguity.
148-
149138
* [Relocate and improve c_str](https://github.com/rust-lang/rfcs/pull/435):
150-
* Move the c_str module out of std to rid the latter of type dependencies on libc.
151-
* Split the current CString into a low-level type CStrBuf and a length-aware CString to make computation costs explicit.
152-
* Provide custom destructors and purpose-specific, mnemonically named constructors.
153-
* Add some methods and trait implementations to make the types more useful.
154-
* Remove the Clone implementation due to lack of purpose.
155-
Lots of discussion of how to structure libc, not a lot of consensus.
156-
139+
* Move the c_str module out of std to rid the latter of type dependencies on libc.
140+
* Split the current CString into a low-level type CStrBuf and a length-aware CString to make computation costs explicit.
141+
* Provide custom destructors and purpose-specific, mnemonically named constructors.
142+
* Add some methods and trait implementations to make the types more useful.
143+
* Remove the Clone implementation due to lack of purpose.
157144
* [rename `lifetime` to `scope`](https://github.com/rust-lang/rfcs/pull/431): Highly controversial. Some community members argue that this change in terminology has been much more effective when introducing the actual concepts to newbies. Others argue that scope is already a well established concept in programming languages.
158-
159145
* [Finalizing more naming conventions](https://github.com/rust-lang/rfcs/pull/430): finalizes a few long-running de facto conventions, including capitalization/underscores, and the role of the unwrap method. Generally positive feedback, some discussion of naming consts like enum variants.
160-
161146
* [Reserve macro identifiers](https://github.com/rust-lang/rfcs/pull/456): Preemptively reserve a class of $ identifiers for allowing backwards compatible improvements to the macro system.
162147

163148

164-
165149
# Community
166150

167151
## From the Team
168152

169153
* [Weekly-meetings/2014-11-04 (macros; multiple lifetime bounds; macro invocation syntax; higher-ranked trait bounds; pub trait methods; out-of-sync nightlies; struct variants; numerics)](https://github.com/rust-lang/meeting-minutes/blob/master/weekly-meetings/2014-11-04.md)
170-
* [Discuss](https://github.com/rust-lang/meeting-minutes/blob/master/weekly-meetings/2014-11-04.md)
171-
* [Reddit](http://www.reddit.com/r/rust/comments/2lrt7b/weeklymeetings20141104_macros_multiple_lifetime/)
172-
154+
* [Discuss](https://github.com/rust-lang/meeting-minutes/blob/master/weekly-meetings/2014-11-04.md)
155+
* [Reddit](http://www.reddit.com/r/rust/comments/2lrt7b/weeklymeetings20141104_macros_multiple_lifetime/)
173156
* [Weekly-meetings/2014-10-30 (error conventions; cargo; namespaced enums; trait-based error handling; macro unification; coercions; dynamic linking, byte literals, failing dtors)](https://github.com/rust-lang/meeting-minutes/blob/master/weekly-meetings/2014-10-30.md)
174-
* [Discuss](http://discuss.rust-lang.org/t/weekly-meetings-2014-10-30-error-conventions-cargo-namespaced-enums-trait-based-error-handling-macro-unification-coercions-dynamic-linking-byte-literals-failing-dtors/734)
175-
* [Reddit](http://www.reddit.com/r/rust/comments/2kuppu/weeklymeetings20141030_error_conventions_cargo/)
176-
157+
* [Discuss](http://discuss.rust-lang.org/t/weekly-meetings-2014-10-30-error-conventions-cargo-namespaced-enums-trait-based-error-handling-macro-unification-coercions-dynamic-linking-byte-literals-failing-dtors/734)
158+
* [Reddit](http://www.reddit.com/r/rust/comments/2kuppu/weeklymeetings20141030_error_conventions_cargo/)
177159
* [IRC notifications now going to #rust-bots](http://discuss.rust-lang.org/t/irc-notifications-now-going-to-rust-bots/735): If you have a bot you'd like to post here (which would be awesome!) please add a description and contact to [the wiki page](https://github.com/rust-lang/rust/wiki/IRC-notifications-channel).
178160

179161
## Videos
180162

181163
* [An introduction to Servo](https://air.mozilla.org/an-introduction-to-servo/): Lars Bergstrom from the Research team provides an overview of the Servo project, demonstrates its current status, and shows how to contribute to it.
182-
183164
* [November's Bay Area meetup](https://air.mozilla.org/bay-area-rust-meetup-november-2014/) happened
184165
on Thursday, featuring five presentations about Servo and browser architecture.
185166

186167
## Blog Posts
187168

188169
* [This Week In Servo (10)](http://blog.servo.org/2014/11/04/twis-10/)
189-
190170
* [Rewriting Rust Serialization, Part 2: Performance](http://erickt.github.io/blog/2014/11/03/performance/): A quick look at how Rust's JSON serialization performance compares to other languages and protocols.
191-
192171
* [Improved Error Handling in Rust](http://lucumr.pocoo.org/2014/11/6/error-handling-in-rust/): Some discussion of how Rust currently and theoretically handles erroes.
193-
194172
* [Don't Panic! The Hitchhiker's Guide to Unwinding](http://lucumr.pocoo.org/2014/10/30/dont-panic/): A nice discussion of the challenges of safe and ergonomic error handling, and how it relates to stack unwinding.
195-
196173
* [Let's build a browser engine! Part 7: Painting 101](http://limpet.net/mbrubeck/2014/11/05/toy-layout-engine-7-painting.html): Part of a longer series on writing a browser engine in Rust. *In this article, I will add very basic painting code.*
197-
198174
* [On pattern matching performance in Rust](http://www.cjqed.com/blog/rust-pattern-matching-performance/): A quick look at how the `match` statement can produce really efficient code.
199-
200175
* [Rust and Go](https://medium.com/@adamhjk/rust-and-go-e18d511fbd95): A quick look at Rust and Go from the perspective of a sysadmin used to high-level programming languages.
201-
202176
* [Learning Rust](http://foon.uk/rust.html): *Inspired by Artyom's Learning Racket series, I've decided to log my efforts in learning Rust. I'm going to document my learning process as I go about trying to build a roguelike in Rust. I've downloaded the compiler, skimmed the getting started guide, and written “Hello World”. So let's get started!*
203177

204178

205179

206180

207181
## Discuss
208182

209-
* [Pre-RFC: placement box with Placer trait](http://discuss.rust-lang.org/t/pre-rfc-placement-box-with-placer-trait/729/6): Add user-defined placement box expression (more succinctly, "a box
210-
expression"), an operator analogous to "placement new" in C++. This
211-
provides a way for a user to specify (1.) how the backing storage for
212-
some datum should be allocated, (2.) that the allocation should be
213-
ordered before the evaluation of the datum, and (3.) that the datum
214-
should preferably be stored directly into the backing storage (rather
215-
than temporary storage on the stack and then copying the datum from
216-
the stack into the backing storage).
217-
183+
* [Pre-RFC: placement box with Placer
184+
trait](http://discuss.rust-lang.org/t/pre-rfc-placement-box-with-placer-trait/729/6):
185+
Add user-defined placement box expression (more succinctly, "a box
186+
expression"), an operator analogous to "placement new" in C++. This
187+
provides a way for a user to specify (1.) how the backing storage
188+
for some datum should be allocated, (2.) that the allocation should
189+
be ordered before the evaluation of the datum, and (3.) that the
190+
datum should preferably be stored directly into the backing storage
191+
(rather than temporary storage on the stack and then copying the
192+
datum from the stack into the backing storage).
218193
* [Forbid -(unsigned integer)](http://discuss.rust-lang.org/t/forbid-unsigned-integer/752): the eternal struggle continues. It's super handy when you want it, but also a common error to make.
219-
220194
* [Moving all built-in macros to plugins](http://discuss.rust-lang.org/t/moving-all-built-in-macros-to-plugins/737): Another proposal to handle some of the issues with macros for 1.0. May make it easier to bootstrap changes to the compiler.
221-
222195
* [Lifetime Notation](http://discuss.rust-lang.org/t/lifetime-notation/751): `&'a` -> `a&`. Some discussion of tradeoffs and details.
223196

224197

@@ -227,23 +200,14 @@ the stack into the backing storage).
227200
## Reddit
228201

229202
* [Warning! Some collection methods have had their semantics changed transparently!](http://www.reddit.com/r/rust/comments/2ljfnd/warning_some_collection_methods_have_had_their/)
230-
231203
* [Error interoperation now available in the nightlies](https://www.reddit.com/r/rust/comments/2l98pn/error_interoperation_now_available_in_the/)
232-
233204
* [Trait-based Exception handling RFC postponed until after 1.0](http://www.reddit.com/r/rust/comments/2l8x2a/traitbased_exception_handling_rfc_postponed_till/)
234-
235205
* [Cargo now supports build-scripts!](http://www.reddit.com/r/rust/comments/2lgyne/cargo_now_support_build_scripts_xpost_rrust/)
236-
237206
* [What libraries would you like to see implemented in Rust?](https://www.reddit.com/r/rust/comments/2lmt99/what_libraries_would_you_like_to_see_implemented/)
238-
239207
* [How good do you think the market for Rust developers will be 5 years from now, and in what area of programming?](http://www.reddit.com/r/rust/comments/2l3l07/rust_is_undoubtedly_one_of_the_upandcoming_big/)
240-
241208
* [I think Rust and I were made for each other](http://www.reddit.com/r/rust/comments/2ljrp2/i_think_rust_and_i_were_meant_for_each_other/)
242-
243209
* [How does the Rust community feel about FFI?](https://www.reddit.com/r/rust/comments/2lmkjw/how_does_the_rust_community_feel_about_ffi/)
244-
245210
* [How do you refactor Rust code?](https://www.reddit.com/r/rust/comments/2lo21r/how_do_you_refactor_rust_code/)
246-
247211
* [I may start contributing to Rust...can I get a few pointers?](http://www.reddit.com/r/rust/comments/2lduv6/i_may_start_contributing_to_rustcan_i_get_a_few/)
248212

249213

@@ -252,23 +216,14 @@ the stack into the backing storage).
252216
## New Projects
253217

254218
* [this-week-in-rust](https://github.com/cmr/this-week-in-rust): This Week in Rust's content is now publicly hosted in a Github repo! If you find any errors, just submit a PR to the relevant markdown file in `/content`! If you'd like to help out, please contact cmr, brson, or Gankro on Github/Reddit/IRC.
255-
256219
* [rustaceans.org](http://rustaceans.org/): *This website is for finding Rustaceans. Wondering who is behind that GitHub username or IRC nick? Here is where to find out.*
257-
258220
* [rust-modifier](https://github.com/reem/rust-modifier): *Convenient chaining APIs for free*
259-
260221
* [dockerfiles](https://github.com/schickling/dockerfiles): *Collection of lightweight and ready-to-use docker images*
261-
262222
* [Window Tiling For The Win](https://github.com/Kintaro/wtftw): *A tiling window manager written in Rust*
263-
264223
* [cxx2rs](https://github.com/manuels/cxx2rs): *A rust-binding generator for C/C++ files*
265-
266224
* [sorting-rs](https://github.com/wackywendell/sorting-rs): *This is a set of sorting algorithms, written in Rust.*
267-
268225
* [rust-chatserver](https://github.com/BytePrelude/rust-chatserver): *A barebone command line TCP chatserver written in Rust*. [Looking for feedback](https://www.reddit.com/r/rust/comments/2lpsj8/tcp_chatserver_written_in_rust_looking_for/).
269-
270226
* [rust-irc](https://github.com/viperscape/rust-irc): *A simple example irc implementation*. [Looking for feedback](https://www.reddit.com/r/rust/comments/2lpw9k/rust_irc_example_looking_for_feedback/)
271-
272227
* [rusqlite](https://github.com/jgallagher/rusqlite): *Ergonomic, semi-safe bindings to SQLite for Rust*
273228

274229

@@ -278,3 +233,15 @@ the stack into the backing storage).
278233

279234

280235
# New Contributors
236+
237+
* Cristi Burcă
238+
* juxiliary
239+
* Nathan Zadoks
240+
* qwitwa
241+
* Sean Jensen-Grey
242+
* Subhash Bhushan
243+
* thiagopnts
244+
* tshakah
245+
* Vitali Haravy
246+
* Vladimir Matveev
247+
* whataloadofwhat

0 commit comments

Comments
 (0)