Skip to content

Commit f3af8c8

Browse files
authored
Auto merge of #37730 - eddyb:rollup, r=eddyb
Rollup of 30 pull requests - Successful merges: #37190, #37368, #37481, #37503, #37527, #37535, #37551, #37584, #37600, #37613, #37615, #37659, #37662, #37669, #37682, #37688, #37690, #37692, #37693, #37694, #37695, #37696, #37698, #37699, #37705, #37708, #37709, #37716, #37724, #37727 - Failed merges: #37640, #37689, #37717
2 parents b33873f + 5dcf0e8 commit f3af8c8

File tree

148 files changed

+4927
-1078
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

148 files changed

+4927
-1078
lines changed

.travis.yml

+68-19
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,82 @@
1-
language: generic
1+
language: rust
22
sudo: required
3+
dist: trusty
34
services:
45
- docker
56

6-
# LLVM takes awhile to check out and otherwise we'll manage the submodules in
7-
# our configure script, so disable auto submodule management.
87
git:
9-
submodules: false
108
depth: 1
9+
submodules: false
1110

12-
before_install:
13-
- docker build -t rust -f src/etc/Dockerfile src/etc
11+
matrix:
12+
include:
13+
# Linux builders, all docker images
14+
- env: IMAGE=arm-android
15+
- env: IMAGE=cross
16+
- env: IMAGE=i686-gnu
17+
- env: IMAGE=i686-gnu-nopt
18+
- env: IMAGE=x86_64-freebsd
19+
- env: IMAGE=x86_64-gnu
20+
- env: IMAGE=x86_64-gnu-cargotest
21+
- env: IMAGE=x86_64-gnu-debug
22+
- env: IMAGE=x86_64-gnu-nopt
23+
- env: IMAGE=x86_64-gnu-rustbuild
24+
- env: IMAGE=x86_64-gnu-llvm-3.7 ALLOW_PR=1
25+
- env: IMAGE=x86_64-musl
26+
27+
# OSX builders
28+
- env: >
29+
RUST_CHECK_TARGET=check
30+
RUST_CONFIGURE_ARGS=--target=x86_64-apple-darwin
31+
SRC=.
32+
os: osx
33+
install: brew install ccache
34+
- env: >
35+
RUST_CHECK_TARGET=check
36+
RUST_CONFIGURE_ARGS=--target=i686-apple-darwin
37+
SRC=.
38+
os: osx
39+
install: brew install ccache
40+
- env: >
41+
RUST_CHECK_TARGET=check
42+
RUST_CONFIGURE_ARGS=--target=x86_64-apple-darwin --enable-rustbuild
43+
SRC=.
44+
os: osx
45+
install: brew install ccache
46+
- env: >
47+
RUST_CHECK_TARGET=
48+
RUST_CONFIGURE_ARGS=--target=aarch64-apple-ios,armv7-apple-ios,armv7s-apple-ios,i386-apple-ios,x86_64-apple-ios
49+
SRC=.
50+
os: osx
51+
install: brew install ccache
1452
1553
script:
16-
- docker run -v `pwd`:/build rust
17-
sh -c "
18-
./configure --enable-vendor --enable-rustbuild --llvm-root=/usr/lib/llvm-3.7 --enable-quiet-tests &&
19-
make tidy &&
20-
make check -j4
21-
"
54+
- if [ -z "$ALLOW_PR" ] && [ "$TRAVIS_BRANCH" != "auto" ]; then
55+
echo skipping, not a full build;
56+
elif [ -z "$ENABLE_AUTO" ] then
57+
echo skipping, not quite ready yet
58+
elif [ "$TRAVIS_OS_NAME" = "osx" ]; then
59+
git submodule update --init;
60+
src/ci/run.sh;
61+
else
62+
git submodule update --init;
63+
src/ci/docker/run.sh $IMAGE;
64+
fi
2265

23-
# Real testing happens on http://buildbot.rust-lang.org/
24-
#
25-
# See https://github.com/rust-lang/rust-buildbot
26-
# CONTRIBUTING.md#pull-requests
66+
# Save tagged docker images we created and load them if they're available
67+
before_cache:
68+
- docker history -q rust-ci |
69+
grep -v missing |
70+
xargs docker save |
71+
gzip -9 > $HOME/docker/rust-ci.tar.gz
72+
before_install:
73+
- zcat $HOME/docker/rust-ci.tar.gz | docker load || true
2774

2875
notifications:
2976
email: false
3077

31-
branches:
32-
only:
33-
- master
78+
cache:
79+
directories:
80+
- $HOME/docker
81+
- $HOME/.ccache
82+
- $HOME/.cargo

RELEASES.md

+257
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,260 @@
1+
Version 1.13.0 (2016-11-10)
2+
===========================
3+
4+
Language
5+
--------
6+
7+
* [Stabilize the `?` operator][36995]. `?` is a simple way to propagate
8+
errors, like the `try!` macro, described in [RFC 0243].
9+
* [Stabilize macros in type position][36014]. Described in [RFC 873].
10+
* [Stabilize attributes on statements][36995]. Described in [RFC 0016].
11+
* [Fix `#[derive]` for empty tuple structs/variants][35728]
12+
* [Fix lifetime rules for 'if' conditions][36029]
13+
* [Avoid loading and parsing unconfigured non-inline modules][36482]
14+
15+
Compiler
16+
--------
17+
18+
* [Add the `-C link-arg` argument][36574]
19+
* [Remove the old AST-based backend from rustc_trans][35764]
20+
* [Don't enable NEON by default on armv7 Linux][35814]
21+
* [Fix debug line number info for macro expansions][35238]
22+
* [Do not emit "class method" debuginfo for types that are not
23+
DICompositeType][36008]
24+
* [Warn about multiple conflicting #[repr] hints][34623]
25+
* [When sizing DST, don't double-count nested struct prefixes][36351]
26+
* [Default RUST_MIN_STACK to 16MiB for now][36505]
27+
* [Improve rlib metadata format][36551]. Reduces rlib size significantly.
28+
* [Reject macros with empty repetitions to avoid infinite loop][36721]
29+
* [Expand macros without recursing to avoid stack overflows][36214]
30+
31+
Diagnostics
32+
-----------
33+
34+
* [Replace macro backtraces with labeled local uses][35702]
35+
* [Improve error message for missplaced doc comments][33922]
36+
* [Buffer unix and lock windows to prevent message interleaving][35975]
37+
* [Update lifetime errors to specifically note temporaries][36171]
38+
* [Special case a few colors for Windows][36178]
39+
* [Suggest `use self` when such an import resolves][36289]
40+
* [Be more specific when type parameter shadows primitive type][36338]
41+
* Many minor improvements
42+
43+
Compile-time Optimizations
44+
--------------------------
45+
46+
* [Compute and cache HIR hashes at beginning][35854]
47+
* [Don't hash types in loan paths][36004]
48+
* [Cache projections in trans][35761]
49+
* [Optimize the parser's last token handling][36527]
50+
* [Only instantiate #[inline] functions in codegen units referencing
51+
them][36524]. This leads to big improvements in cases where crates export
52+
define many inline functions without using them directly.
53+
* [Lazily allocate TypedArena's first chunk][36592]
54+
* [Don't allocate during default HashSet creation][36734]
55+
56+
Stabilized APIs
57+
---------------
58+
59+
* [`checked_abs`]
60+
* [`wrapping_abs`]
61+
* [`overflowing_abs`]
62+
* [`RefCell::try_borrow`]
63+
* [`RefCell::try_borrow_mut`]
64+
65+
Libraries
66+
---------
67+
68+
* [Add `assert_ne!` and `debug_assert_ne!`][35074]
69+
* [Make `vec_deque::Drain`, `hash_map::Drain`, and `hash_set::Drain`
70+
covariant][35354]
71+
* [Implement `AsRef<[T]>` for `std::slice::Iter`][35559]
72+
* [Implement `Debug` for `std::vec::IntoIter`][35707]
73+
* [`CString`: avoid excessive growth just to 0-terminate][35871]
74+
* [Implement `CoerceUnsized` for `{Cell, RefCell, UnsafeCell}`][35627]
75+
* [Use arc4rand on FreeBSD][35884]
76+
* [memrchr: Correct aligned offset computation][35969]
77+
* [Improve Demangling of Rust Symbols][36059]
78+
* [Use monotonic time in condition variables][35048]
79+
* [Implement `Debug` for `std::path::{Components,Iter}`][36101]
80+
* [Implement conversion traits for `char`][35755]
81+
* [Fix illegal instruction caused by overflow in channel cloning][36104]
82+
* [Zero first byte of CString on drop][36264]
83+
* [Inherit overflow checks for sum and product][36372]
84+
* [Add missing Eq implementations][36423]
85+
* [Implement `Debug` for `DirEntry`][36631]
86+
* [When `getaddrinfo` returns `EAI_SYSTEM` retrieve actual error from
87+
`errno`][36754]
88+
* [`SipHasher`] is deprecated. Use [`DefaultHasher`].
89+
* [Implement more traits for `std::io::ErrorKind`][35911]
90+
* [Optimize BinaryHeap bounds checking][36072]
91+
* [Work around pointer aliasing issue in `Vec::extend_from_slice`,
92+
`extend_with_element`][36355]
93+
* [Fix overflow checking in unsigned pow()][34942]
94+
95+
Cargo
96+
-----
97+
98+
* This release includes security fixes to both curl and OpenSSL.
99+
* [Fix transitive doctests when panic=abort][cargo/3021]
100+
* [Add --all-features flag to cargo][cargo/3038]
101+
* [Reject path-based dependencies in `cargo package`][cargo/3060]
102+
* [Don't parse the home directory more than once][cargo/3078]
103+
* [Don't try to generate Cargo.lock on empty workspaces][cargo/3092]
104+
* [Update OpenSSL to 1.0.2j][cargo/3121]
105+
* [Add license and license_file to cargo metadata output][cargo/3110]
106+
* [Make crates-io registry URL optional in config; ignore all changes to
107+
source.crates-io][cargo/3089]
108+
* [Don't download dependencies from other platforms][cargo/3123]
109+
* [Build transitive dev-dependencies when needed][cargo/3125]
110+
* [Add support for per-target rustflags in .cargo/config][cargo/3157]
111+
* [Avoid updating registry when adding existing deps][cargo/3144]
112+
* [Warn about path overrides that won't work][cargo/3136]
113+
* [Use workspaces during `cargo install`][cargo/3146]
114+
* [Leak mspdbsrv.exe processes on Windows][cargo/3162]
115+
* [Add --message-format flag][cargo/3000]
116+
* [Pass target environment for rustdoc][cargo/3205]
117+
* [Use `CommandExt::exec` for `cargo run` on Unix][cargo/2818]
118+
* [Update curl and curl-sys][cargo/3241]
119+
* [Call rustdoc test with the correct cfg flags of a package][cargo/3242]
120+
121+
Tooling
122+
-------
123+
124+
* [rustdoc: Add the `--sysroot` argument][36586]
125+
* [rustdoc: Fix a couple of issues with the search results][35655]
126+
* [rustdoc: remove the `!` from macro URLs and titles][35234]
127+
* [gdb: Fix pretty-printing special-cased Rust types][35585]
128+
* [rustdoc: Filter more incorrect methods inherited through Deref][36266]
129+
130+
Misc
131+
----
132+
133+
* [Remove unmaintained style guide][35124]
134+
* [Add s390x support][36369]
135+
* [Initial work at Haiku OS support][36727]
136+
* [Add mips-uclibc targets][35734]
137+
* [Crate-ify compiler-rt into compiler-builtins][35021]
138+
* [Add rustc version info (git hash + date) to dist tarball][36213]
139+
* Many documentation improvements
140+
141+
Compatibility Notes
142+
-------------------
143+
144+
* [`SipHasher`] is deprecated. Use [`DefaultHasher`].
145+
* [Deny (by default) transmuting from fn item types to pointer-sized
146+
types][34923]. Continuing the long transition to zero-sized fn items,
147+
per [RFC 401].
148+
* [Fix `#[derive]` for empty tuple structs/variants][35728].
149+
Part of [RFC 1506].
150+
* [Issue deprecation warnings for safe accesses to extern statics][36173]
151+
* [Fix lifetime rules for 'if' conditions][36029].
152+
* [Inherit overflow checks for sum and product][36372].
153+
* [Forbid user-defined macros named "macro_rules"][36730].
154+
155+
[33922]: https://github.com/rust-lang/rust/pull/33922
156+
[34623]: https://github.com/rust-lang/rust/pull/34623
157+
[34923]: https://github.com/rust-lang/rust/pull/34923
158+
[34942]: https://github.com/rust-lang/rust/pull/34942
159+
[34982]: https://github.com/rust-lang/rust/pull/34982
160+
[35021]: https://github.com/rust-lang/rust/pull/35021
161+
[35048]: https://github.com/rust-lang/rust/pull/35048
162+
[35074]: https://github.com/rust-lang/rust/pull/35074
163+
[35124]: https://github.com/rust-lang/rust/pull/35124
164+
[35234]: https://github.com/rust-lang/rust/pull/35234
165+
[35238]: https://github.com/rust-lang/rust/pull/35238
166+
[35354]: https://github.com/rust-lang/rust/pull/35354
167+
[35559]: https://github.com/rust-lang/rust/pull/35559
168+
[35585]: https://github.com/rust-lang/rust/pull/35585
169+
[35627]: https://github.com/rust-lang/rust/pull/35627
170+
[35655]: https://github.com/rust-lang/rust/pull/35655
171+
[35702]: https://github.com/rust-lang/rust/pull/35702
172+
[35707]: https://github.com/rust-lang/rust/pull/35707
173+
[35728]: https://github.com/rust-lang/rust/pull/35728
174+
[35734]: https://github.com/rust-lang/rust/pull/35734
175+
[35755]: https://github.com/rust-lang/rust/pull/35755
176+
[35761]: https://github.com/rust-lang/rust/pull/35761
177+
[35764]: https://github.com/rust-lang/rust/pull/35764
178+
[35814]: https://github.com/rust-lang/rust/pull/35814
179+
[35854]: https://github.com/rust-lang/rust/pull/35854
180+
[35871]: https://github.com/rust-lang/rust/pull/35871
181+
[35884]: https://github.com/rust-lang/rust/pull/35884
182+
[35911]: https://github.com/rust-lang/rust/pull/35911
183+
[35969]: https://github.com/rust-lang/rust/pull/35969
184+
[35975]: https://github.com/rust-lang/rust/pull/35975
185+
[36004]: https://github.com/rust-lang/rust/pull/36004
186+
[36008]: https://github.com/rust-lang/rust/pull/36008
187+
[36014]: https://github.com/rust-lang/rust/pull/36014
188+
[36029]: https://github.com/rust-lang/rust/pull/36029
189+
[36059]: https://github.com/rust-lang/rust/pull/36059
190+
[36072]: https://github.com/rust-lang/rust/pull/36072
191+
[36101]: https://github.com/rust-lang/rust/pull/36101
192+
[36104]: https://github.com/rust-lang/rust/pull/36104
193+
[36171]: https://github.com/rust-lang/rust/pull/36171
194+
[36173]: https://github.com/rust-lang/rust/pull/36173
195+
[36178]: https://github.com/rust-lang/rust/pull/36178
196+
[36213]: https://github.com/rust-lang/rust/pull/36213
197+
[36214]: https://github.com/rust-lang/rust/pull/36214
198+
[36264]: https://github.com/rust-lang/rust/pull/36264
199+
[36266]: https://github.com/rust-lang/rust/pull/36266
200+
[36289]: https://github.com/rust-lang/rust/pull/36289
201+
[36338]: https://github.com/rust-lang/rust/pull/36338
202+
[36351]: https://github.com/rust-lang/rust/pull/36351
203+
[36355]: https://github.com/rust-lang/rust/pull/36355
204+
[36369]: https://github.com/rust-lang/rust/pull/36369
205+
[36372]: https://github.com/rust-lang/rust/pull/36372
206+
[36423]: https://github.com/rust-lang/rust/pull/36423
207+
[36482]: https://github.com/rust-lang/rust/pull/36482
208+
[36505]: https://github.com/rust-lang/rust/pull/36505
209+
[36524]: https://github.com/rust-lang/rust/pull/36524
210+
[36527]: https://github.com/rust-lang/rust/pull/36527
211+
[36551]: https://github.com/rust-lang/rust/pull/36551
212+
[36574]: https://github.com/rust-lang/rust/pull/36574
213+
[36586]: https://github.com/rust-lang/rust/pull/36586
214+
[36592]: https://github.com/rust-lang/rust/pull/36592
215+
[36631]: https://github.com/rust-lang/rust/pull/36631
216+
[36639]: https://github.com/rust-lang/rust/pull/36639
217+
[36721]: https://github.com/rust-lang/rust/pull/36721
218+
[36727]: https://github.com/rust-lang/rust/pull/36727
219+
[36730]: https://github.com/rust-lang/rust/pull/36730
220+
[36734]: https://github.com/rust-lang/rust/pull/36734
221+
[36754]: https://github.com/rust-lang/rust/pull/36754
222+
[36995]: https://github.com/rust-lang/rust/pull/36995
223+
[RFC 0016]: https://github.com/rust-lang/rfcs/blob/master/text/0016-more-attributes.md
224+
[RFC 0243]: https://github.com/rust-lang/rfcs/blob/master/text/0243-trait-based-exception-handling.md
225+
[RFC 1506]: https://github.com/rust-lang/rfcs/blob/master/text/1506-adt-kinds.md
226+
[RFC 401]: https://github.com/rust-lang/rfcs/blob/master/text/0401-coercions.md
227+
[RFC 873]: https://github.com/rust-lang/rfcs/blob/master/text/0873-type-macros.md
228+
[cargo/2818]: https://github.com/rust-lang/cargo/pull/2818
229+
[cargo/3000]: https://github.com/rust-lang/cargo/pull/3000
230+
[cargo/3021]: https://github.com/rust-lang/cargo/pull/3021
231+
[cargo/3038]: https://github.com/rust-lang/cargo/pull/3038
232+
[cargo/3060]: https://github.com/rust-lang/cargo/pull/3060
233+
[cargo/3078]: https://github.com/rust-lang/cargo/pull/3078
234+
[cargo/3089]: https://github.com/rust-lang/cargo/pull/3089
235+
[cargo/3092]: https://github.com/rust-lang/cargo/pull/3092
236+
[cargo/3110]: https://github.com/rust-lang/cargo/pull/3110
237+
[cargo/3121]: https://github.com/rust-lang/cargo/pull/3121
238+
[cargo/3123]: https://github.com/rust-lang/cargo/pull/3123
239+
[cargo/3125]: https://github.com/rust-lang/cargo/pull/3125
240+
[cargo/3136]: https://github.com/rust-lang/cargo/pull/3136
241+
[cargo/3144]: https://github.com/rust-lang/cargo/pull/3144
242+
[cargo/3146]: https://github.com/rust-lang/cargo/pull/3146
243+
[cargo/3157]: https://github.com/rust-lang/cargo/pull/3157
244+
[cargo/3162]: https://github.com/rust-lang/cargo/pull/3162
245+
[cargo/3205]: https://github.com/rust-lang/cargo/pull/3205
246+
[cargo/3241]: https://github.com/rust-lang/cargo/pull/3241
247+
[cargo/3242]: https://github.com/rust-lang/cargo/pull/3242
248+
[rustup]: https://www.rustup.rs
249+
[`checked_abs`]: https://doc.rust-lang.org/std/primitive.i32.html#method.checked_abs
250+
[`wrapping_abs`]: https://doc.rust-lang.org/std/primitive.i32.html#method.wrapping_abs
251+
[`overflowing_abs`]: https://doc.rust-lang.org/std/primitive.i32.html#method.overflowing_abs
252+
[`RefCell::try_borrow`]: https://doc.rust-lang.org/std/cell/struct.RefCell.html#method.try_borrow
253+
[`RefCell::try_borrow_mut`]: https://doc.rust-lang.org/std/cell/struct.RefCell.html#method.try_borrow_mut
254+
[`SipHasher`]: https://doc.rust-lang.org/std/hash/struct.SipHasher.html
255+
[`DefaultHasher`]: https://doc.rust-lang.org/std/collections/hash_map/struct.DefaultHasher.html
256+
257+
1258
Version 1.12.1 (2016-10-20)
2259
===========================
3260

+26
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# armv5-unknown-linux-gnueabi configuration
2+
CROSS_PREFIX_armv5te-unknown-linux-gnueabi=arm-linux-gnueabi-
3+
CC_armv5te-unknown-linux-gnueabi=gcc
4+
CXX_armv5te-unknown-linux-gnueabi=g++
5+
CPP_armv5te-unknown-linux-gnueabi=gcc -E
6+
AR_armv5te-unknown-linux-gnueabi=ar
7+
CFG_LIB_NAME_armv5te-unknown-linux-gnueabi=lib$(1).so
8+
CFG_STATIC_LIB_NAME_armv5te-unknown-linux-gnueabi=lib$(1).a
9+
CFG_LIB_GLOB_armv5te-unknown-linux-gnueabi=lib$(1)-*.so
10+
CFG_LIB_DSYM_GLOB_armv5te-unknown-linux-gnueabi=lib$(1)-*.dylib.dSYM
11+
CFG_JEMALLOC_CFLAGS_armv5te-unknown-linux-gnueabi := -D__arm__ -mfloat-abi=soft $(CFLAGS) -march=armv5te -marm
12+
CFG_GCCISH_CFLAGS_armv5te-unknown-linux-gnueabi := -Wall -g -fPIC -D__arm__ -mfloat-abi=soft $(CFLAGS) -march=armv5te -marm
13+
CFG_GCCISH_CXXFLAGS_armv5te-unknown-linux-gnueabi := -fno-rtti $(CXXFLAGS)
14+
CFG_GCCISH_LINK_FLAGS_armv5te-unknown-linux-gnueabi := -shared -fPIC -g
15+
CFG_GCCISH_DEF_FLAG_armv5te-unknown-linux-gnueabi := -Wl,--export-dynamic,--dynamic-list=
16+
CFG_LLC_FLAGS_armv5te-unknown-linux-gnueabi :=
17+
CFG_INSTALL_NAME_ar,-unknown-linux-gnueabi =
18+
CFG_EXE_SUFFIX_armv5te-unknown-linux-gnueabi :=
19+
CFG_WINDOWSY_armv5te-unknown-linux-gnueabi :=
20+
CFG_UNIXY_armv5te-unknown-linux-gnueabi := 1
21+
CFG_LDPATH_armv5te-unknown-linux-gnueabi :=
22+
CFG_RUN_armv5te-unknown-linux-gnueabi=$(2)
23+
CFG_RUN_TARG_armv5te-unknown-linux-gnueabi=$(call CFG_RUN_armv5te-unknown-linux-gnueabi,,$(2))
24+
RUSTC_FLAGS_armv5te-unknown-linux-gnueabi :=
25+
RUSTC_CROSS_FLAGS_armv5te-unknown-linux-gnueabi :=
26+
CFG_GNU_TRIPLE_armv5te-unknown-linux-gnueabi := armv5te-unknown-linux-gnueabi

mk/crates.mk

+1-1
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ DEPS_serialize := std log
100100
DEPS_term := std
101101
DEPS_test := std getopts term native:rust_test_helpers
102102

103-
DEPS_syntax := std term serialize log arena libc rustc_bitflags rustc_unicode rustc_errors syntax_pos
103+
DEPS_syntax := std term serialize log arena libc rustc_bitflags rustc_unicode rustc_errors syntax_pos rustc_data_structures
104104
DEPS_syntax_ext := syntax syntax_pos rustc_errors fmt_macros proc_macro
105105
DEPS_syntax_pos := serialize
106106
DEPS_proc_macro_tokens := syntax syntax_pos log

0 commit comments

Comments
 (0)