|
| 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