Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rollup of 8 pull requests #65915

Closed
wants to merge 46 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
893ab67
Custom lifetime error for `impl` item doesn't conform to `trait`
estebank Oct 3, 2019
3e2bc19
review comments
estebank Oct 4, 2019
1e95b5c
Point at the trait item and tweak wording
estebank Oct 15, 2019
e383b7c
Make error apply only to impl/trait mismatch
estebank Oct 15, 2019
3aba2d0
Fix NLL test
estebank Oct 15, 2019
093ec70
Add new EFIAPI ABI
roblabla Oct 24, 2019
6173280
Fix EFIABI test
roblabla Oct 25, 2019
13d27af
Fix inverted check in EFIAPI
roblabla Oct 25, 2019
e54ae51
Add proper tracking issue for EFIAPI
roblabla Oct 25, 2019
174d4f9
EFIAPI: Fix symbolname tests
roblabla Oct 25, 2019
7f3c843
Refactor check_attr
varkor Oct 11, 2019
94c4dd9
Emit warning for ignored #[inline] on trait method prototypes
varkor Oct 11, 2019
66d7ef0
Emit warning for ignored #[inline] on foreign function prototypes
varkor Oct 11, 2019
af2b497
Improve comments
varkor Oct 11, 2019
4552c8f
Add test for attribute error checking on trait and foreign items
varkor Oct 11, 2019
41ee9ea
Refactor `check_track_caller`
varkor Oct 11, 2019
8042206
Handle `ImplItem` in `check_attr`
varkor Oct 13, 2019
b925eb5
Update bitflags
varkor Oct 13, 2019
e8566fb
Move handling of `#[track_caller]` to `check_attr`
varkor Oct 14, 2019
6446f19
Permit `#[target_feature]` on method implementations
varkor Oct 14, 2019
f8db8ff
Permit #[track_caller] on inherent methods
varkor Oct 24, 2019
f47f530
Make inline associated constants a future compatibility warning
varkor Oct 25, 2019
23b3827
ci: add support for MIPS64 musl targets
xen0n Jul 28, 2019
1099826
Only run efiapi test on llvm 9.0+
roblabla Oct 26, 2019
22586d7
Better pretty printing for const raw pointers
iwikal Oct 27, 2019
6a6ed12
Add the two missing hex digits
iwikal Oct 27, 2019
adfe9a4
Call out the types that are non local on E0117
estebank Oct 11, 2019
9b4f811
Use more targeted spans for orphan rule errors
estebank Oct 12, 2019
56aa89c
Further tweak spans for better readability
estebank Oct 12, 2019
daeafd8
Talk about specific types and remove lifetimes from output
estebank Oct 13, 2019
db1bfbd
Account for tuples in explanation
estebank Oct 13, 2019
95364df
Do not display ADT type arguments and fix rebase
estebank Oct 24, 2019
2cd28c1
add comment
estebank Oct 27, 2019
627691f
Fix rebase
estebank Oct 28, 2019
273ee61
Improve the "try using a variant of the expected type" hint.
Patryk27 Oct 18, 2019
e188e2d
Fix a previously forgotten pretty-printing test after a change to the…
Patryk27 Oct 26, 2019
5c023d6
Improve pretty-printing for compound qualified paths.
Patryk27 Oct 27, 2019
d7f99da
Update backtrace to 0.3.40
tmandry Oct 17, 2019
1437592
Rollup merge of #65068 - estebank:trait-impl-lt-mismatch, r=nikomatsakis
Centril Oct 29, 2019
137a6ab
Rollup merge of #65294 - varkor:lint-inline-prototype, r=matthewjasper
Centril Oct 29, 2019
14a9a50
Rollup merge of #65318 - estebank:coherence, r=varkor
Centril Oct 29, 2019
0ae035b
Rollup merge of #65531 - tmandry:bump-backtrace, r=cramertj
Centril Oct 29, 2019
fb73c0b
Rollup merge of #65562 - Patryk27:master, r=estebank
Centril Oct 29, 2019
c5d8681
Rollup merge of #65809 - roblabla:eficall-abi, r=nagisa
Centril Oct 29, 2019
cb5f9e2
Rollup merge of #65843 - xen0n:mips64-musl-targets-with-ci, r=alexcri…
Centril Oct 29, 2019
8a6462f
Rollup merge of #65859 - iwikal:pretty-const-pointers, r=cramertj
Centril Oct 29, 2019
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 9 additions & 8 deletions Cargo.lock
Original file line number Diff line number Diff line change
Expand Up @@ -115,9 +115,9 @@ checksum = "b671c8fb71b457dd4ae18c4ba1e59aa81793daacc361d82fcd410cef0d491875"

[[package]]
name = "backtrace"
version = "0.3.37"
version = "0.3.40"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5180c5a20655b14a819b652fd2378fa5f1697b6c9ddad3e695c2f9cedf6df4e2"
checksum = "924c76597f0d9ca25d762c25a4d369d51267536465dc5064bdf0eb073ed477ea"
dependencies = [
"backtrace-sys",
"cfg-if",
Expand All @@ -129,9 +129,9 @@ dependencies = [

[[package]]
name = "backtrace-sys"
version = "0.1.30"
version = "0.1.32"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5b3a000b9c543553af61bc01cbfc403b04b5caa9e421033866f2e98061eb3e61"
checksum = "5d6575f128516de27e3ce99689419835fce9643a9b215a14d2b5b685be018491"
dependencies = [
"cc",
"compiler_builtins",
Expand All @@ -150,9 +150,9 @@ dependencies = [

[[package]]
name = "bitflags"
version = "1.1.0"
version = "1.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3d155346769a6855b86399e9bc3814ab343cd3d62c7e985113d46a0ec3c281fd"
checksum = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693"

[[package]]
name = "blake2-rfc"
Expand Down Expand Up @@ -391,9 +391,9 @@ version = "0.1.0"

[[package]]
name = "cc"
version = "1.0.35"
version = "1.0.37"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5e5f3fee5eeb60324c2781f1e41286bdee933850fff9b3c672587fed5ec58c83"
checksum = "39f75544d7bbaf57560d2168f28fd649ff9c76153874db88bdbdfd839b1a7e7d"

[[package]]
name = "cfg-if"
Expand Down Expand Up @@ -3113,6 +3113,7 @@ dependencies = [
"backtrace",
"bitflags",
"byteorder",
"cc",
"chalk-engine",
"fmt_macros",
"graphviz",
Expand Down
4 changes: 4 additions & 0 deletions src/bootstrap/configure.py
Original file line number Diff line number Diff line change
Expand Up @@ -133,6 +133,10 @@ def v(*args):
"mips-unknown-linux-musl install directory")
v("musl-root-mipsel", "target.mipsel-unknown-linux-musl.musl-root",
"mipsel-unknown-linux-musl install directory")
v("musl-root-mips64", "target.mips64-unknown-linux-muslabi64.musl-root",
"mips64-unknown-linux-muslabi64 install directory")
v("musl-root-mips64el", "target.mips64el-unknown-linux-muslabi64.musl-root",
"mips64el-unknown-linux-muslabi64 install directory")
v("qemu-armhf-rootfs", "target.arm-unknown-linux-gnueabihf.qemu-rootfs",
"rootfs in qemu testing, you probably don't want to use this")
v("qemu-aarch64-rootfs", "target.aarch64-unknown-linux-gnu.qemu-rootfs",
Expand Down
16 changes: 16 additions & 0 deletions src/ci/docker/dist-various-1/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
g++-arm-linux-gnueabi \
g++-arm-linux-gnueabihf \
g++-aarch64-linux-gnu \
g++-mips64-linux-gnuabi64 \
g++-mips64el-linux-gnuabi64 \
gcc-sparc64-linux-gnu \
libc6-dev-sparc64-cross \
bzip2 \
Expand Down Expand Up @@ -77,6 +79,14 @@ RUN env \
CC=mipsel-openwrt-linux-gcc \
CXX=mipsel-openwrt-linux-g++ \
bash musl.sh mipsel && \
env \
CC=mips64-linux-gnuabi64-gcc \
CXX=mips64-linux-gnuabi64-g++ \
bash musl.sh mips64 && \
env \
CC=mips64el-linux-gnuabi64-gcc \
CXX=mips64el-linux-gnuabi64-g++ \
bash musl.sh mips64el && \
rm -rf /build/*

# FIXME(mozilla/sccache#235) this shouldn't be necessary but is currently
Expand All @@ -97,6 +107,8 @@ ENV TARGETS=$TARGETS,wasm32-unknown-emscripten
ENV TARGETS=$TARGETS,x86_64-rumprun-netbsd
ENV TARGETS=$TARGETS,mips-unknown-linux-musl
ENV TARGETS=$TARGETS,mipsel-unknown-linux-musl
ENV TARGETS=$TARGETS,mips64-unknown-linux-muslabi64
ENV TARGETS=$TARGETS,mips64el-unknown-linux-muslabi64
ENV TARGETS=$TARGETS,arm-unknown-linux-musleabi
ENV TARGETS=$TARGETS,arm-unknown-linux-musleabihf
ENV TARGETS=$TARGETS,armv5te-unknown-linux-gnueabi
Expand Down Expand Up @@ -125,6 +137,8 @@ ENV TARGETS=$TARGETS,thumbv7neon-unknown-linux-gnueabihf

ENV CC_mipsel_unknown_linux_musl=mipsel-openwrt-linux-gcc \
CC_mips_unknown_linux_musl=mips-openwrt-linux-gcc \
CC_mips64el_unknown_linux_muslabi64=mips64el-linux-gnuabi64-gcc \
CC_mips64_unknown_linux_muslabi64=mips64-linux-gnuabi64-gcc \
CC_sparc64_unknown_linux_gnu=sparc64-linux-gnu-gcc \
CC_x86_64_unknown_redox=x86_64-unknown-redox-gcc \
CC_thumbv7neon_unknown_linux_gnueabihf=arm-linux-gnueabihf-gcc \
Expand All @@ -139,6 +153,8 @@ ENV RUST_CONFIGURE_ARGS \
--musl-root-aarch64=/musl-aarch64 \
--musl-root-mips=/musl-mips \
--musl-root-mipsel=/musl-mipsel \
--musl-root-mips64=/musl-mips64 \
--musl-root-mips64el=/musl-mips64el \
--disable-docs

ENV SCRIPT \
Expand Down
8 changes: 6 additions & 2 deletions src/librustc/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,12 @@ path = "lib.rs"
doctest = false

[dependencies]
# Prevent cc from upgrading all the way to 1.0.46,
# which fails the build (see e.g. #65445.)
cc = "=1.0.37"

arena = { path = "../libarena" }
bitflags = "1.0"
bitflags = "1.2.1"
fmt_macros = { path = "../libfmt_macros" }
graphviz = { path = "../libgraphviz" }
jobserver = "0.1"
Expand All @@ -30,7 +34,7 @@ errors = { path = "../librustc_errors", package = "rustc_errors" }
rustc_serialize = { path = "../libserialize", package = "serialize" }
syntax = { path = "../libsyntax" }
syntax_pos = { path = "../libsyntax_pos" }
backtrace = "0.3.3"
backtrace = "0.3.40"
parking_lot = "0.9"
byteorder = { version = "1.3" }
chalk-engine = { version = "0.9.0", default-features=false }
Expand Down
53 changes: 52 additions & 1 deletion src/librustc/error_codes.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2219,7 +2219,7 @@ rejected in your own crates.
"##,

E0736: r##"
#[track_caller] and #[naked] cannot be applied to the same function.
`#[track_caller]` and `#[naked]` cannot both be applied to the same function.

Erroneous code example:

Expand All @@ -2237,6 +2237,57 @@ See [RFC 2091] for details on this and other limitations.
[RFC 2091]: https://github.com/rust-lang/rfcs/blob/master/text/2091-inline-semantic.md
"##,

E0738: r##"
`#[track_caller]` cannot be used in traits yet. This is due to limitations in
the compiler which are likely to be temporary. See [RFC 2091] for details on
this and other restrictions.

Erroneous example with a trait method implementation:

```compile_fail,E0738
#![feature(track_caller)]

trait Foo {
fn bar(&self);
}

impl Foo for u64 {
#[track_caller]
fn bar(&self) {}
}
```

Erroneous example with a blanket trait method implementation:

```compile_fail,E0738
#![feature(track_caller)]

trait Foo {
#[track_caller]
fn bar(&self) {}
fn baz(&self);
}
```

Erroneous example with a trait method declaration:

```compile_fail,E0738
#![feature(track_caller)]

trait Foo {
fn bar(&self) {}

#[track_caller]
fn baz(&self);
}
```

Note that while the compiler may be able to support the attribute in traits in
the future, [RFC 2091] prohibits their implementation without a follow-up RFC.

[RFC 2091]: https://github.com/rust-lang/rfcs/blob/master/text/2091-inline-semantic.md
"##,

;
// E0006, // merged with E0005
// E0101, // replaced with E0282
Expand Down
Loading