Skip to content

Commit 0134608

Browse files
authored
Rollup merge of rust-lang#41016 - arielb1:beta-fixes, r=alexcrichton
[beta] Beta next - rust-lang#40764 - rust-lang#40809 - rust-lang#41015 r? @brson
2 parents b37cc75 + ab18aae commit 0134608

File tree

31 files changed

+85
-89
lines changed

31 files changed

+85
-89
lines changed

.travis.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ matrix:
5656
os: osx
5757
osx_image: xcode8.2
5858
install: &osx_install_sccache >
59-
travis_retry curl -o /usr/local/bin/sccache https://s3.amazonaws.com/rust-lang-ci/rust-ci-mirror/2017-02-25-sccache-x86_64-apple-darwin &&
59+
travis_retry curl -o /usr/local/bin/sccache https://s3.amazonaws.com/rust-lang-ci/rust-ci-mirror/2017-03-24-sccache-x86_64-apple-darwin &&
6060
chmod +x /usr/local/bin/sccache
6161
- env: >
6262
RUST_CHECK_TARGET=check
@@ -89,7 +89,7 @@ matrix:
8989
os: osx
9090
osx_image: xcode7
9191
install: >
92-
travis_retry curl -o /usr/local/bin/sccache https://s3.amazonaws.com/rust-lang-ci/rust-ci-mirror/2017-02-25-sccache-x86_64-apple-darwin &&
92+
travis_retry curl -o /usr/local/bin/sccache https://s3.amazonaws.com/rust-lang-ci/rust-ci-mirror/2017-03-24-sccache-x86_64-apple-darwin &&
9393
chmod +x /usr/local/bin/sccache
9494
- env: >
9595
RUST_CHECK_TARGET=dist

appveyor.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -115,8 +115,8 @@ install:
115115
- set PATH=C:\Python27;%PATH%
116116

117117
# Download and install sccache
118-
- appveyor-retry appveyor DownloadFile https://s3.amazonaws.com/rust-lang-ci/rust-ci-mirror/2017-02-25-sccache-x86_64-pc-windows-msvc
119-
- mv 2017-02-25-sccache-x86_64-pc-windows-msvc sccache
118+
- appveyor-retry appveyor DownloadFile https://s3.amazonaws.com/rust-lang-ci/rust-ci-mirror/2017-03-24-sccache-x86_64-pc-windows-msvc
119+
- mv 2017-03-24-sccache-x86_64-pc-windows-msvc sccache
120120
- set PATH=%PATH%;%CD%
121121

122122
# Install InnoSetup to get `iscc` used to produce installers

src/ci/docker/armhf-gnu/Dockerfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ RUN arm-linux-gnueabihf-gcc addentropy.c -o rootfs/addentropy -static
7474
RUN curl -O http://ftp.nl.debian.org/debian/dists/jessie/main/installer-armhf/current/images/device-tree/vexpress-v2p-ca15-tc1.dtb
7575

7676
RUN curl -o /usr/local/bin/sccache \
77-
https://s3.amazonaws.com/rust-lang-ci/rust-ci-mirror/2017-02-25-sccache-x86_64-unknown-linux-musl && \
77+
https://s3.amazonaws.com/rust-lang-ci/rust-ci-mirror/2017-03-24-sccache-x86_64-unknown-linux-musl && \
7878
chmod +x /usr/local/bin/sccache
7979

8080
RUN curl -OL https://github.com/Yelp/dumb-init/releases/download/v1.2.0/dumb-init_1.2.0_amd64.deb && \

src/ci/docker/cross/Dockerfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
2222
pkg-config
2323

2424
RUN curl -o /usr/local/bin/sccache \
25-
https://s3.amazonaws.com/rust-lang-ci/rust-ci-mirror/2017-02-25-sccache-x86_64-unknown-linux-musl && \
25+
https://s3.amazonaws.com/rust-lang-ci/rust-ci-mirror/2017-03-24-sccache-x86_64-unknown-linux-musl && \
2626
chmod +x /usr/local/bin/sccache
2727

2828
RUN curl -OL https://github.com/Yelp/dumb-init/releases/download/v1.2.0/dumb-init_1.2.0_amd64.deb && \

src/ci/docker/dist-android/Dockerfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ RUN curl -OL https://github.com/Yelp/dumb-init/releases/download/v1.2.0/dumb-ini
3232
ENTRYPOINT ["/usr/bin/dumb-init", "--"]
3333

3434
RUN curl -o /usr/local/bin/sccache \
35-
https://s3.amazonaws.com/rust-lang-ci/rust-ci-mirror/2017-02-25-sccache-x86_64-unknown-linux-musl && \
35+
https://s3.amazonaws.com/rust-lang-ci/rust-ci-mirror/2017-03-24-sccache-x86_64-unknown-linux-musl && \
3636
chmod +x /usr/local/bin/sccache
3737

3838
ENV TARGETS=arm-linux-androideabi

src/ci/docker/dist-arm-linux/Dockerfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
2828
pkg-config
2929

3030
RUN curl -o /usr/local/bin/sccache \
31-
https://s3.amazonaws.com/rust-lang-ci/rust-ci-mirror/2017-02-25-sccache-x86_64-unknown-linux-musl && \
31+
https://s3.amazonaws.com/rust-lang-ci/rust-ci-mirror/2017-03-24-sccache-x86_64-unknown-linux-musl && \
3232
chmod +x /usr/local/bin/sccache
3333

3434
RUN curl -OL https://github.com/Yelp/dumb-init/releases/download/v1.2.0/dumb-init_1.2.0_amd64.deb && \

src/ci/docker/dist-armv7-aarch64-linux/Dockerfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
2828
pkg-config
2929

3030
RUN curl -o /usr/local/bin/sccache \
31-
https://s3.amazonaws.com/rust-lang-ci/rust-ci-mirror/2017-02-25-sccache-x86_64-unknown-linux-musl && \
31+
https://s3.amazonaws.com/rust-lang-ci/rust-ci-mirror/2017-03-24-sccache-x86_64-unknown-linux-musl && \
3232
chmod +x /usr/local/bin/sccache
3333

3434
RUN curl -OL https://github.com/Yelp/dumb-init/releases/download/v1.2.0/dumb-init_1.2.0_amd64.deb && \

src/ci/docker/dist-freebsd/Dockerfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ RUN curl -OL https://github.com/Yelp/dumb-init/releases/download/v1.2.0/dumb-ini
2626
ENTRYPOINT ["/usr/bin/dumb-init", "--"]
2727

2828
RUN curl -o /usr/local/bin/sccache \
29-
https://s3.amazonaws.com/rust-lang-ci/rust-ci-mirror/2017-02-25-sccache-x86_64-unknown-linux-musl && \
29+
https://s3.amazonaws.com/rust-lang-ci/rust-ci-mirror/2017-03-24-sccache-x86_64-unknown-linux-musl && \
3030
chmod +x /usr/local/bin/sccache
3131

3232
ENV \

src/ci/docker/dist-fuchsia/Dockerfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ RUN curl -OL https://github.com/Yelp/dumb-init/releases/download/v1.2.0/dumb-ini
2929
ENTRYPOINT ["/usr/bin/dumb-init", "--"]
3030

3131
RUN curl -o /usr/local/bin/sccache \
32-
https://s3.amazonaws.com/rust-lang-ci/rust-ci-mirror/2017-02-25-sccache-x86_64-unknown-linux-musl && \
32+
https://s3.amazonaws.com/rust-lang-ci/rust-ci-mirror/2017-03-24-sccache-x86_64-unknown-linux-musl && \
3333
chmod +x /usr/local/bin/sccache
3434

3535
ENV \

src/ci/docker/dist-i586-gnu-i686-musl/Dockerfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ RUN curl -OL https://github.com/Yelp/dumb-init/releases/download/v1.2.0/dumb-ini
2626
ENTRYPOINT ["/usr/bin/dumb-init", "--"]
2727

2828
RUN curl -o /usr/local/bin/sccache \
29-
https://s3.amazonaws.com/rust-lang-ci/rust-ci-mirror/2017-02-25-sccache-x86_64-unknown-linux-musl && \
29+
https://s3.amazonaws.com/rust-lang-ci/rust-ci-mirror/2017-03-24-sccache-x86_64-unknown-linux-musl && \
3030
chmod +x /usr/local/bin/sccache
3131

3232
ENV RUST_CONFIGURE_ARGS \

src/ci/docker/dist-mips-linux/Dockerfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
1818
pkg-config
1919

2020
RUN curl -o /usr/local/bin/sccache \
21-
https://s3.amazonaws.com/rust-lang-ci/rust-ci-mirror/2017-02-25-sccache-x86_64-unknown-linux-musl && \
21+
https://s3.amazonaws.com/rust-lang-ci/rust-ci-mirror/2017-03-24-sccache-x86_64-unknown-linux-musl && \
2222
chmod +x /usr/local/bin/sccache
2323

2424
RUN curl -OL https://github.com/Yelp/dumb-init/releases/download/v1.2.0/dumb-init_1.2.0_amd64.deb && \

src/ci/docker/dist-mips64-linux/Dockerfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
1818
pkg-config
1919

2020
RUN curl -o /usr/local/bin/sccache \
21-
https://s3.amazonaws.com/rust-lang-ci/rust-ci-mirror/2017-02-25-sccache-x86_64-unknown-linux-musl && \
21+
https://s3.amazonaws.com/rust-lang-ci/rust-ci-mirror/2017-03-24-sccache-x86_64-unknown-linux-musl && \
2222
chmod +x /usr/local/bin/sccache
2323

2424
RUN curl -OL https://github.com/Yelp/dumb-init/releases/download/v1.2.0/dumb-init_1.2.0_amd64.deb && \

src/ci/docker/dist-powerpc-linux/Dockerfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
2828
pkg-config
2929

3030
RUN curl -o /usr/local/bin/sccache \
31-
https://s3.amazonaws.com/rust-lang-ci/rust-ci-mirror/2017-02-25-sccache-x86_64-unknown-linux-musl && \
31+
https://s3.amazonaws.com/rust-lang-ci/rust-ci-mirror/2017-03-24-sccache-x86_64-unknown-linux-musl && \
3232
chmod +x /usr/local/bin/sccache
3333

3434
RUN curl -OL https://github.com/Yelp/dumb-init/releases/download/v1.2.0/dumb-init_1.2.0_amd64.deb && \

src/ci/docker/dist-powerpc64-linux/Dockerfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
2828
pkg-config
2929

3030
RUN curl -o /usr/local/bin/sccache \
31-
https://s3.amazonaws.com/rust-lang-ci/rust-ci-mirror/2017-02-25-sccache-x86_64-unknown-linux-musl && \
31+
https://s3.amazonaws.com/rust-lang-ci/rust-ci-mirror/2017-03-24-sccache-x86_64-unknown-linux-musl && \
3232
chmod +x /usr/local/bin/sccache
3333

3434
RUN curl -OL https://github.com/Yelp/dumb-init/releases/download/v1.2.0/dumb-init_1.2.0_amd64.deb && \

src/ci/docker/dist-s390x-linux-netbsd/Dockerfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
2828
pkg-config
2929

3030
RUN curl -o /usr/local/bin/sccache \
31-
https://s3.amazonaws.com/rust-lang-ci/rust-ci-mirror/2017-02-25-sccache-x86_64-unknown-linux-musl && \
31+
https://s3.amazonaws.com/rust-lang-ci/rust-ci-mirror/2017-03-24-sccache-x86_64-unknown-linux-musl && \
3232
chmod +x /usr/local/bin/sccache
3333

3434
RUN curl -OL https://github.com/Yelp/dumb-init/releases/download/v1.2.0/dumb-init_1.2.0_amd64.deb && \

src/ci/docker/dist-x86-linux/Dockerfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ RUN curl -Lo /rustroot/dumb-init \
7575
ENTRYPOINT ["/rustroot/dumb-init", "--"]
7676

7777
RUN curl -o /usr/local/bin/sccache \
78-
https://s3.amazonaws.com/rust-lang-ci/rust-ci-mirror/2017-02-25-sccache-x86_64-unknown-linux-musl && \
78+
https://s3.amazonaws.com/rust-lang-ci/rust-ci-mirror/2017-03-24-sccache-x86_64-unknown-linux-musl && \
7979
chmod +x /usr/local/bin/sccache
8080

8181
ENV HOSTS=i686-unknown-linux-gnu

src/ci/docker/dist-x86_64-musl/Dockerfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ RUN curl -OL https://github.com/Yelp/dumb-init/releases/download/v1.2.0/dumb-ini
2626
ENTRYPOINT ["/usr/bin/dumb-init", "--"]
2727

2828
RUN curl -o /usr/local/bin/sccache \
29-
https://s3.amazonaws.com/rust-lang-ci/rust-ci-mirror/2017-02-25-sccache-x86_64-unknown-linux-musl && \
29+
https://s3.amazonaws.com/rust-lang-ci/rust-ci-mirror/2017-03-24-sccache-x86_64-unknown-linux-musl && \
3030
chmod +x /usr/local/bin/sccache
3131

3232
ENV RUST_CONFIGURE_ARGS \

src/ci/docker/emscripten/Dockerfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
1515
lib32stdc++6
1616

1717
RUN curl -o /usr/local/bin/sccache \
18-
https://s3.amazonaws.com/rust-lang-ci/rust-ci-mirror/2017-02-25-sccache-x86_64-unknown-linux-musl && \
18+
https://s3.amazonaws.com/rust-lang-ci/rust-ci-mirror/2017-03-24-sccache-x86_64-unknown-linux-musl && \
1919
chmod +x /usr/local/bin/sccache
2020

2121
RUN curl -OL https://github.com/Yelp/dumb-init/releases/download/v1.2.0/dumb-init_1.2.0_amd64.deb && \

src/ci/docker/i686-gnu-nopt/Dockerfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
1414
xz-utils
1515

1616
RUN curl -o /usr/local/bin/sccache \
17-
https://s3.amazonaws.com/rust-lang-ci/rust-ci-mirror/2017-02-25-sccache-x86_64-unknown-linux-musl && \
17+
https://s3.amazonaws.com/rust-lang-ci/rust-ci-mirror/2017-03-24-sccache-x86_64-unknown-linux-musl && \
1818
chmod +x /usr/local/bin/sccache
1919

2020
RUN curl -OL https://github.com/Yelp/dumb-init/releases/download/v1.2.0/dumb-init_1.2.0_amd64.deb && \

src/ci/docker/i686-gnu/Dockerfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
1414
xz-utils
1515

1616
RUN curl -o /usr/local/bin/sccache \
17-
https://s3.amazonaws.com/rust-lang-ci/rust-ci-mirror/2017-02-25-sccache-x86_64-unknown-linux-musl && \
17+
https://s3.amazonaws.com/rust-lang-ci/rust-ci-mirror/2017-03-24-sccache-x86_64-unknown-linux-musl && \
1818
chmod +x /usr/local/bin/sccache
1919

2020
RUN curl -OL https://github.com/Yelp/dumb-init/releases/download/v1.2.0/dumb-init_1.2.0_amd64.deb && \

src/ci/docker/x86_64-gnu-aux/Dockerfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
1515
pkg-config
1616

1717
RUN curl -o /usr/local/bin/sccache \
18-
https://s3.amazonaws.com/rust-lang-ci/rust-ci-mirror/2017-02-25-sccache-x86_64-unknown-linux-musl && \
18+
https://s3.amazonaws.com/rust-lang-ci/rust-ci-mirror/2017-03-24-sccache-x86_64-unknown-linux-musl && \
1919
chmod +x /usr/local/bin/sccache
2020

2121
RUN curl -OL https://github.com/Yelp/dumb-init/releases/download/v1.2.0/dumb-init_1.2.0_amd64.deb && \

src/ci/docker/x86_64-gnu-debug/Dockerfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
1414
xz-utils
1515

1616
RUN curl -o /usr/local/bin/sccache \
17-
https://s3.amazonaws.com/rust-lang-ci/rust-ci-mirror/2017-02-25-sccache-x86_64-unknown-linux-musl && \
17+
https://s3.amazonaws.com/rust-lang-ci/rust-ci-mirror/2017-03-24-sccache-x86_64-unknown-linux-musl && \
1818
chmod +x /usr/local/bin/sccache
1919

2020
RUN curl -OL https://github.com/Yelp/dumb-init/releases/download/v1.2.0/dumb-init_1.2.0_amd64.deb && \

src/ci/docker/x86_64-gnu-distcheck/Dockerfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
1616
pkg-config
1717

1818
RUN curl -o /usr/local/bin/sccache \
19-
https://s3.amazonaws.com/rust-lang-ci/rust-ci-mirror/2017-02-25-sccache-x86_64-unknown-linux-musl && \
19+
https://s3.amazonaws.com/rust-lang-ci/rust-ci-mirror/2017-03-24-sccache-x86_64-unknown-linux-musl && \
2020
chmod +x /usr/local/bin/sccache
2121

2222
RUN curl -OL https://github.com/Yelp/dumb-init/releases/download/v1.2.0/dumb-init_1.2.0_amd64.deb && \

src/ci/docker/x86_64-gnu-full-bootstrap/Dockerfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
1414
xz-utils
1515

1616
RUN curl -o /usr/local/bin/sccache \
17-
https://s3.amazonaws.com/rust-lang-ci/rust-ci-mirror/2017-02-25-sccache-x86_64-unknown-linux-musl && \
17+
https://s3.amazonaws.com/rust-lang-ci/rust-ci-mirror/2017-03-24-sccache-x86_64-unknown-linux-musl && \
1818
chmod +x /usr/local/bin/sccache
1919

2020
RUN curl -OL https://github.com/Yelp/dumb-init/releases/download/v1.2.0/dumb-init_1.2.0_amd64.deb && \

src/ci/docker/x86_64-gnu-incremental/Dockerfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
1414
xz-utils
1515

1616
RUN curl -o /usr/local/bin/sccache \
17-
https://s3.amazonaws.com/rust-lang-ci/rust-ci-mirror/2017-02-25-sccache-x86_64-unknown-linux-musl && \
17+
https://s3.amazonaws.com/rust-lang-ci/rust-ci-mirror/2017-03-24-sccache-x86_64-unknown-linux-musl && \
1818
chmod +x /usr/local/bin/sccache
1919

2020
RUN curl -OL https://github.com/Yelp/dumb-init/releases/download/v1.2.0/dumb-init_1.2.0_amd64.deb && \

src/ci/docker/x86_64-gnu-llvm-3.7/Dockerfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
1717
xz-utils
1818

1919
RUN curl -o /usr/local/bin/sccache \
20-
https://s3.amazonaws.com/rust-lang-ci/rust-ci-mirror/2017-02-25-sccache-x86_64-unknown-linux-musl && \
20+
https://s3.amazonaws.com/rust-lang-ci/rust-ci-mirror/2017-03-24-sccache-x86_64-unknown-linux-musl && \
2121
chmod +x /usr/local/bin/sccache
2222

2323
RUN curl -OL https://github.com/Yelp/dumb-init/releases/download/v1.2.0/dumb-init_1.2.0_amd64.deb && \

src/ci/docker/x86_64-gnu-nopt/Dockerfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
1414
xz-utils
1515

1616
RUN curl -o /usr/local/bin/sccache \
17-
https://s3.amazonaws.com/rust-lang-ci/rust-ci-mirror/2017-02-25-sccache-x86_64-unknown-linux-musl && \
17+
https://s3.amazonaws.com/rust-lang-ci/rust-ci-mirror/2017-03-24-sccache-x86_64-unknown-linux-musl && \
1818
chmod +x /usr/local/bin/sccache
1919

2020
RUN curl -OL https://github.com/Yelp/dumb-init/releases/download/v1.2.0/dumb-init_1.2.0_amd64.deb && \

src/ci/docker/x86_64-gnu/Dockerfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
1414
xz-utils
1515

1616
RUN curl -o /usr/local/bin/sccache \
17-
https://s3.amazonaws.com/rust-lang-ci/rust-ci-mirror/2017-02-25-sccache-x86_64-unknown-linux-musl && \
17+
https://s3.amazonaws.com/rust-lang-ci/rust-ci-mirror/2017-03-24-sccache-x86_64-unknown-linux-musl && \
1818
chmod +x /usr/local/bin/sccache
1919

2020
RUN curl -OL https://github.com/Yelp/dumb-init/releases/download/v1.2.0/dumb-init_1.2.0_amd64.deb && \

src/librustc/hir/lowering.rs

+36-59
Original file line numberDiff line numberDiff line change
@@ -1700,57 +1700,45 @@ impl<'a> LoweringContext<'a> {
17001700
hir::ExprIndex(P(self.lower_expr(el)), P(self.lower_expr(er)))
17011701
}
17021702
ExprKind::Range(ref e1, ref e2, lims) => {
1703-
fn make_struct(this: &mut LoweringContext,
1704-
ast_expr: &Expr,
1705-
path: &[&str],
1706-
fields: &[(&str, &P<Expr>)]) -> hir::Expr {
1707-
let struct_path = &iter::once(&"ops").chain(path).map(|s| *s)
1708-
.collect::<Vec<_>>();
1709-
let unstable_span = this.allow_internal_unstable("...", ast_expr.span);
1710-
1711-
if fields.len() == 0 {
1712-
this.expr_std_path(unstable_span, struct_path,
1713-
ast_expr.attrs.clone())
1714-
} else {
1715-
let fields = fields.into_iter().map(|&(s, e)| {
1716-
let expr = P(this.lower_expr(&e));
1717-
let unstable_span = this.allow_internal_unstable("...", e.span);
1718-
this.field(Symbol::intern(s), expr, unstable_span)
1719-
}).collect();
1720-
let attrs = ast_expr.attrs.clone();
1721-
1722-
this.expr_std_struct(unstable_span, struct_path, fields, None, attrs)
1723-
}
1724-
}
1725-
17261703
use syntax::ast::RangeLimits::*;
17271704

1728-
return match (e1, e2, lims) {
1729-
(&None, &None, HalfOpen) =>
1730-
make_struct(self, e, &["RangeFull"], &[]),
1731-
1732-
(&Some(ref e1), &None, HalfOpen) =>
1733-
make_struct(self, e, &["RangeFrom"],
1734-
&[("start", e1)]),
1735-
1736-
(&None, &Some(ref e2), HalfOpen) =>
1737-
make_struct(self, e, &["RangeTo"],
1738-
&[("end", e2)]),
1739-
1740-
(&Some(ref e1), &Some(ref e2), HalfOpen) =>
1741-
make_struct(self, e, &["Range"],
1742-
&[("start", e1), ("end", e2)]),
1743-
1744-
(&None, &Some(ref e2), Closed) =>
1745-
make_struct(self, e, &["RangeToInclusive"],
1746-
&[("end", e2)]),
1747-
1748-
(&Some(ref e1), &Some(ref e2), Closed) =>
1749-
make_struct(self, e, &["RangeInclusive", "NonEmpty"],
1750-
&[("start", e1), ("end", e2)]),
1705+
let (path, variant) = match (e1, e2, lims) {
1706+
(&None, &None, HalfOpen) => ("RangeFull", None),
1707+
(&Some(..), &None, HalfOpen) => ("RangeFrom", None),
1708+
(&None, &Some(..), HalfOpen) => ("RangeTo", None),
1709+
(&Some(..), &Some(..), HalfOpen) => ("Range", None),
1710+
(&None, &Some(..), Closed) => ("RangeToInclusive", None),
1711+
(&Some(..), &Some(..), Closed) => ("RangeInclusive", Some("NonEmpty")),
1712+
(_, &None, Closed) =>
1713+
panic!(self.diagnostic().span_fatal(
1714+
e.span, "inclusive range with no end")),
1715+
};
17511716

1752-
_ => panic!(self.diagnostic()
1753-
.span_fatal(e.span, "inclusive range with no end")),
1717+
let fields =
1718+
e1.iter().map(|e| ("start", e)).chain(e2.iter().map(|e| ("end", e)))
1719+
.map(|(s, e)| {
1720+
let expr = P(self.lower_expr(&e));
1721+
let unstable_span = self.allow_internal_unstable("...", e.span);
1722+
self.field(Symbol::intern(s), expr, unstable_span)
1723+
}).collect::<P<[hir::Field]>>();
1724+
1725+
let is_unit = fields.is_empty();
1726+
let unstable_span = self.allow_internal_unstable("...", e.span);
1727+
let struct_path =
1728+
iter::once("ops").chain(iter::once(path)).chain(variant)
1729+
.collect::<Vec<_>>();
1730+
let struct_path = self.std_path(unstable_span, &struct_path, is_unit);
1731+
let struct_path = hir::QPath::Resolved(None, P(struct_path));
1732+
1733+
return hir::Expr {
1734+
id: e.id,
1735+
node: if is_unit {
1736+
hir::ExprPath(struct_path)
1737+
} else {
1738+
hir::ExprStruct(struct_path, fields, None)
1739+
},
1740+
span: unstable_span,
1741+
attrs: e.attrs.clone(),
17541742
};
17551743
}
17561744
ExprKind::Path(ref qself, ref path) => {
@@ -2334,17 +2322,6 @@ impl<'a> LoweringContext<'a> {
23342322
P(self.expr(sp, hir::ExprTup(exprs), ThinVec::new()))
23352323
}
23362324

2337-
fn expr_std_struct(&mut self,
2338-
span: Span,
2339-
components: &[&str],
2340-
fields: hir::HirVec<hir::Field>,
2341-
e: Option<P<hir::Expr>>,
2342-
attrs: ThinVec<Attribute>) -> hir::Expr {
2343-
let path = self.std_path(span, components, false);
2344-
let qpath = hir::QPath::Resolved(None, P(path));
2345-
self.expr(span, hir::ExprStruct(qpath, fields, e), attrs)
2346-
}
2347-
23482325
fn expr(&mut self, span: Span, node: hir::Expr_, attrs: ThinVec<Attribute>) -> hir::Expr {
23492326
hir::Expr {
23502327
id: self.next_id(),

0 commit comments

Comments
 (0)