1
+ Version 1.30.0 (2018-10-25)
2
+ ==========================
3
+
4
+ Language
5
+ --------
6
+ - [ Procedural macros are now available.] [ 52081 ] These kinds of macros allow for
7
+ more powerful code generation, there is a [ new chapter available] [ proc-macros ]
8
+ in Rust Programming Language book that goes further in depth.
9
+ - [ You can now use keywords as identifiers using the raw identifiers
10
+ syntax (` r# ` ).] [ 53236 ] e.g. ` let r#bool = true; `
11
+ - [ Using anonymous parameters in traits is now deprecated with a warning and
12
+ will be a hard error in the 2018 edition.] [ 53272 ]
13
+ - [ You can now use ` crate ` in paths.] [ 54404 ] This allows you to refer to the
14
+ crate root in the path. e.g. ` use crate::foo; ` refers to ` foo ` in ` src/lib.rs ` .
15
+ - [ Using a external crate now no longer requires being prefixed with ` :: ` .] [ 54404 ]
16
+ e.g. previously using a external crate in a module without a use statement
17
+ required ` let json = ::serde_json::from_str(foo); ` can now be written
18
+ as ` let json = serde_json::from_str(foo); ` .
19
+ - [ You can now apply the ` #[used] ` attribute to static items to prevent the
20
+ compiler from optimising them away even if they appear to be unused.] [ 51363 ]
21
+ e.g. ` #[used] static FOO: u32 = 1; `
22
+ - [ You can now import and reexport macros from other crates with the ` use `
23
+ syntax.] [ 50911 ] Macros exported with ` #[macro_export] ` are now placed into
24
+ the root module of the crate. If your macro relies on calling other local
25
+ macros it is recommended to export with the
26
+ ` #[macro_export(local_inner_macros)] ` attribute so that users won't have to
27
+ import those macros.
28
+ - [ ` mod.rs ` files are now optional.] [ 54146 ] Previously if you had a ` foo ` module
29
+ with a ` bar ` submodule, you would have ` src/foo/mod.rs ` and ` src/foo/bar.rs ` .
30
+ Now you can have ` src/foo.rs ` and ` src/foo/bar.rs ` to achieve the same effect.
31
+ - [ You can now catch visibility keywords (e.g. ` pub ` , ` pub(crate) ` ) in macros
32
+ using the ` vis ` specifier.] [ 53370 ]
33
+ - [ Non-macro attributes now allow all forms of literals not just
34
+ strings.] [ 53044 ] e.g. Previously you would write ` #[attr("true")] ` you can now
35
+ write ` #[attr(true)] ` .
36
+ - [ You can now specify a function to handle a panic in the Rust runtime with the
37
+ ` #[panic_handler] ` attribute.] [ 51366 ]
38
+
39
+ Compiler
40
+ --------
41
+ - [ Added the ` riscv32imc-unknown-none-elf ` target.] [ 53822 ]
42
+ - [ Added the ` aarch64-unknown-netbsd ` target] [ 53165 ]
43
+
44
+ Libraries
45
+ ---------
46
+ - [ ` ManuallyDrop ` now allows the inner type to be unsized.] [ 53033 ]
47
+
48
+ Stabilized APIs
49
+ ---------------
50
+ - [ ` Ipv4Addr::BROADCAST ` ]
51
+ - [ ` Ipv4Addr::LOCALHOST ` ]
52
+ - [ ` Ipv4Addr::UNSPECIFIED ` ]
53
+ - [ ` Ipv6Addr::LOCALHOST ` ]
54
+ - [ ` Ipv6Addr::UNSPECIFIED ` ]
55
+ - [ ` Iterator::find_map ` ]
56
+
57
+ The following methods are a replacement methods for ` trim_left ` , ` trim_right ` ,
58
+ ` trim_left_matches ` , and ` trim_right_matches ` . Which will be deprecated
59
+ in 1.33.0.
60
+ - [ ` str::trim_end_matches ` ]
61
+ - [ ` str::trim_end ` ]
62
+ - [ ` str::trim_start_matches ` ]
63
+ - [ ` str::trim_start ` ]
64
+
65
+ Cargo
66
+ ----
67
+ - [ ` cargo run ` doesn't require specifying a package in workspaces.] [ cargo/5877 ]
68
+ - [ ` cargo doc ` now supports ` --message-format=json ` .] [ cargo/5878 ] This is
69
+ equivalent to calling ` rustdoc --error-format=json ` .
70
+ - [ You can specify which edition to create a project in cargo
71
+ with ` cargo new --edition ` .] [ cargo/5984 ] Currently only ` 2015 ` is a
72
+ valid option.
73
+ - [ Cargo will now provide a progress bar for builds.] [ cargo/5995 ]
74
+
75
+ Misc
76
+ ----
77
+ - [ ` rustdoc ` allows you to specify what edition to treat your code as with the
78
+ ` --edition ` option.] [ 54057 ]
79
+ - [ ` rustdoc ` now has the ` --color ` (Specify whether to output color) and
80
+ ` --error-format ` (Specify error format e.g. ` json ` ) options.] [ 53003 ]
81
+ - [ We now distribute a ` rust-gdbgui ` script that invokes ` gdbgui ` with Rust
82
+ debug symbols.] [ 53774 ]
83
+ - [ Attributes from Rust tools such as ` rustfmt ` or ` clippy ` are now
84
+ available.] [ 53459 ] e.g. ` #[rustfmt::skip] ` will skip formatting the next item.
85
+
86
+ [ 50911 ] : https://github.com/rust-lang/rust/pull/50911/
87
+ [ 51363 ] : https://github.com/rust-lang/rust/pull/51363/
88
+ [ 51366 ] : https://github.com/rust-lang/rust/pull/51366/
89
+ [ 52081 ] : https://github.com/rust-lang/rust/pull/52081/
90
+ [ 53003 ] : https://github.com/rust-lang/rust/pull/53003/
91
+ [ 53033 ] : https://github.com/rust-lang/rust/pull/53033/
92
+ [ 53044 ] : https://github.com/rust-lang/rust/pull/53044/
93
+ [ 53165 ] : https://github.com/rust-lang/rust/pull/53165/
94
+ [ 53213 ] : https://github.com/rust-lang/rust/pull/53213/
95
+ [ 53236 ] : https://github.com/rust-lang/rust/pull/53236/
96
+ [ 53272 ] : https://github.com/rust-lang/rust/pull/53272/
97
+ [ 53370 ] : https://github.com/rust-lang/rust/pull/53370/
98
+ [ 53459 ] : https://github.com/rust-lang/rust/pull/53459/
99
+ [ 53774 ] : https://github.com/rust-lang/rust/pull/53774/
100
+ [ 53822 ] : https://github.com/rust-lang/rust/pull/53822/
101
+ [ 54057 ] : https://github.com/rust-lang/rust/pull/54057/
102
+ [ 54146 ] : https://github.com/rust-lang/rust/pull/54146/
103
+ [ 54404 ] : https://github.com/rust-lang/rust/pull/54404/
104
+ [ cargo/5877 ] : https://github.com/rust-lang/cargo/pull/5877/
105
+ [ cargo/5878 ] : https://github.com/rust-lang/cargo/pull/5878/
106
+ [ cargo/5984 ] : https://github.com/rust-lang/cargo/pull/5984/
107
+ [ cargo/5995 ] : https://github.com/rust-lang/cargo/pull/5995/
108
+ [ proc-macros ] : https://doc.rust-lang.org/book/2018-edition/ch19-06-macros.html
109
+
110
+ [ `Ipv4Addr::BROADCAST` ] : https://doc.rust-lang.org/nightly/std/net/struct.Ipv4Addr.html#associatedconstant.BROADCAST
111
+ [ `Ipv4Addr::LOCALHOST` ] : https://doc.rust-lang.org/nightly/std/net/struct.Ipv4Addr.html#associatedconstant.LOCALHOST
112
+ [ `Ipv4Addr::UNSPECIFIED` ] : https://doc.rust-lang.org/nightly/std/net/struct.Ipv4Addr.html#associatedconstant.UNSPECIFIED
113
+ [ `Ipv6Addr::LOCALHOST` ] : https://doc.rust-lang.org/nightly/std/net/struct.Ipv6Addr.html#associatedconstant.LOCALHOST
114
+ [ `Ipv6Addr::UNSPECIFIED` ] : https://doc.rust-lang.org/nightly/std/net/struct.Ipv6Addr.html#associatedconstant.UNSPECIFIED
115
+ [ `Iterator::find_map` ] : https://doc.rust-lang.org/std/iter/trait.Iterator.html#method.find_map
116
+ [ `str::trim_end_matches` ] : https://doc.rust-lang.org/nightly/std/primitive.str.html#method.trim_end_matches
117
+ [ `str::trim_end` ] : https://doc.rust-lang.org/nightly/std/primitive.str.html#method.trim_end
118
+ [ `str::trim_start_matches` ] : https://doc.rust-lang.org/nightly/std/primitive.str.html#method.trim_start_matches
119
+ [ `str::trim_start` ] : https://doc.rust-lang.org/nightly/std/primitive.str.html#method.trim_start
120
+
121
+
1
122
Version 1.29.2 (2018-10-11)
2
123
===========================
3
124
@@ -6,6 +127,7 @@ Version 1.29.2 (2018-10-11)
6
127
7
128
[ 54639 ] : https://github.com/rust-lang/rust/pull/54639
8
129
130
+
9
131
Version 1.29.1 (2018-09-25)
10
132
===========================
11
133
@@ -19,6 +141,7 @@ Security Notes
19
141
Thank you to Scott McMurray for responsibily disclosing this vulnerability to
20
142
us.
21
143
144
+
22
145
Version 1.29.0 (2018-09-13)
23
146
==========================
24
147
@@ -73,7 +196,10 @@ Compatibility Notes
73
196
Consider using the ` home_dir ` function from
74
197
https://crates.io/crates/dirs instead.
75
198
- [ ` rustc ` will no longer silently ignore invalid data in target spec.] [ 52330 ]
199
+ - [ ` cfg ` attributes and ` --cfg ` command line flags are now more
200
+ strictly validated.] [ 53893 ]
76
201
202
+ [ 53893 ] : https://github.com/rust-lang/rust/pull/53893/
77
203
[ 52861 ] : https://github.com/rust-lang/rust/pull/52861/
78
204
[ 52656 ] : https://github.com/rust-lang/rust/pull/52656/
79
205
[ 52239 ] : https://github.com/rust-lang/rust/pull/52239/
0 commit comments