Skip to content

Commit c6a6f22

Browse files
committed
More 2014-11-10
1 parent 55676a8 commit c6a6f22

File tree

1 file changed

+47
-5
lines changed

1 file changed

+47
-5
lines changed

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

+47-5
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,25 @@ TODO: Link to complete breaking changes log
3838
* The comparision types have been [updated for DST][cmp], resulting in
3939
changes to how they are invoked for references to unsized types
4040
(i.e. `&str` and `&[T]`).
41+
* As part of the recent [collections overhaul][coll-rfc], the prelude
42+
now contains a [`repeat`] function that returns an iterator that
43+
repeatedly yields the same value.
44+
* Some changes to make [overloaded operators][ops] behave more
45+
consistently will cause some previous code to break.
46+
* The collections crate has seen [major refactorings][coll1] and
47+
[updates][coll2] as part of the [collections
48+
overhaul][coll-rfc]. There was additional discussion about the
49+
impact on [reddit][coll-reddit].
50+
* The json crate [works with string slices instead of strings][json],
51+
and now overloads the index operator.
52+
* A number of prelude traits have been [renamed and consolidated][pre]
53+
as fallout from DST and to conform to new [conventions]. This should
54+
not break much code as these traits are rarely named explicitly.
55+
* The rlibc crate, which provides a few libc functions expected to
56+
exist by LLVM's code generation, and is only useful for freestanding
57+
Rust projects, has been [moved out of the main rust
58+
distribution][rlibc], and now must be [installed via
59+
cargo][rlibc-cargo].
4160

4261
[flex]: https://github.com/rust-lang/rust/pull/16156
4362
[flex-rfc]: https://github.com/rust-lang/rfcs/blob/master/text/0131-target-specification.md
@@ -48,6 +67,16 @@ TODO: Link to complete breaking changes log
4867
[`ToSocketAddr`]: https://github.com/rust-lang/rust/pull/18462
4968
[`BytesContainer`]: https://github.com/rust-lang/rust/pull/18463
5069
[cmp]: https://github.com/rust-lang/rust/pull/18467
70+
[coll1]: https://github.com/rust-lang/rust/pull/18519
71+
[coll2]: https://github.com/rust-lang/rust/pull/18605
72+
[coll-rfc]: https://github.com/rust-lang/rfcs/blob/master/text/0235-collections-conventions.md
73+
[coll-reddit]: https://www.reddit.com/r/rust/comments/2ljfnd/warning_some_collection_methods_have_had_their/
74+
[`repeat`]: https://github.com/rust-lang/rust/pull/18468
75+
[ops]: https://github.com/rust-lang/rust/pull/18486
76+
[json]: https://github.com/rust-lang/rust/pull/18544
77+
[pre]: https://github.com/rust-lang/rust/pull/18559
78+
[rlibc]: https://github.com/rust-lang/rust/pull/18625
79+
[rlibc-cargo]: https://github.com/rust-lang/rlibc
5180

5281
## Other Changes
5382

@@ -59,17 +88,30 @@ TODO: Link to complete breaking changes log
5988
* impls can now be [defined on trait objects][impltrait].
6089
* P1start has been [converting][help] compiler messages that provide
6190
suggestions from 'notes' to 'help' messages.
62-
* The ['exceeding_bitshifts'][bitshift] lint (deny by default) catches
63-
overlong shifts (which are currently undefined behavior) of static
64-
size.
65-
* Ariel [removed][unsafe-rustc] a bunch of unsafe code from the compiler. Yay!
91+
* The ['exceeding_bitshifts'][bitshift] lint catches overlong shifts
92+
(which are currently undefined behavior) of static size. Due to
93+
[bugs][bitshift-bugs] it is set to 'allow' be default.
94+
* Ariel [removed][unsafe-rustc] a bunch of unsafe code from the
95+
compiler. Yay!
96+
* A new `-l` [flag] to the compiler has been added to specify linkage
97+
to native libraries, primarily for use by cargo. In the same PR,
98+
`include!` was updated to expand its arguments, allowing cargo to do
99+
for more complex compile-time code generation. [RFC][flag-rfc].
100+
* `#![cfg]` and `#[cfg_attr]` [can be applied to crates][cfg].
101+
* On x86 Linux, random number generation now [prefers] the new
102+
[`getrandom`] syscall.
66103

67104
[blanket impls]: https://github.com/rust-lang/rust/pull/18388
68105
[impltrait]: https://github.com/rust-lang/rust/pull/18447
69106
[help]: https://github.com/rust-lang/rust/pull/18132
70107
[bitshift]: https://github.com/rust-lang/rust/pull/18206
108+
[bitshift-bugs]: https://github.com/rust-lang/rust/pull/18593
71109
[unsafe-rustc]: https://github.com/rust-lang/rust/pull/18318
72-
110+
[flag]: https://github.com/rust-lang/rust/pull/18470
111+
[flag-rfc]: https://github.com/rust-lang/rfcs/blob/master/text/0403-cargo-build-command.md
112+
[cfg]: https://github.com/rust-lang/rust/pull/18634
113+
[prefers]: https://github.com/rust-lang/rust/pull/18664
114+
[getrandom]: http://lwn.net/Articles/606141/
73115

74116

75117
## Approved RFC's

0 commit comments

Comments
 (0)