Commit Graph

70803 Commits

Author SHA1 Message Date
Niko Matsakis
f6723a9592 improve comments on safe_to_unsafe_fn_ty and coerce_closure_fn_ty 2017-12-13 12:20:28 -05:00
Niko Matsakis
7a20a3f161 change to use an O(1) data structure for looking up point indices
Converting a `RegionElementIndex` to a `Location` is O(n) though could
trivially be O(log n), but we don't do it that much anyhow -- just on
error and debugging.
2017-12-13 12:20:28 -05:00
Niko Matsakis
77663a677d refactor region value bitmatrix 2017-12-13 12:20:27 -05:00
Niko Matsakis
a30e2259da fix closure tests now that MIR typeck works properly
These tests had FIXMEs for errors that were not previously being
reported.
2017-12-13 12:20:27 -05:00
Niko Matsakis
decbbb3fc0 when reifying a safe fn as an unsafe fn ptr, insert two casts
Otherwise, `run-pass/typeck-fn-to-unsafe-fn-ptr.rs` fails the MIR type checker.
2017-12-13 06:03:28 -05:00
Niko Matsakis
d5cff0740f normalize fn sig as part of reification 2017-12-13 06:03:28 -05:00
Santiago Pastorino
0c26d8fcd1 Mir typeck Cast for Unsize value 2017-12-13 06:03:28 -05:00
Santiago Pastorino
14700e58b4 Mir typeck Cast for ClosureFnPtr value 2017-12-13 06:03:27 -05:00
Santiago Pastorino
ae035cb731 Extract coerce_closure_fn_ty function 2017-12-13 06:03:27 -05:00
Santiago Pastorino
900d4d5bda Mir typeck Cast for UnsafeFnPtr value 2017-12-13 06:03:27 -05:00
Santiago Pastorino
7d56131e83 Mir typeck Cast for ReifyFnPtr value 2017-12-13 06:03:27 -05:00
Santiago Pastorino
86355480bd Restructure a bit check_aggregate_rvalue code 2017-12-13 06:03:27 -05:00
Santiago Pastorino
4449240d1e Add more debug logs 2017-12-13 06:03:26 -05:00
Santiago Pastorino
688ab5af81 Check functions predicates 2017-12-13 06:03:26 -05:00
Santiago Pastorino
5010496677 Check Aggregate predicates 2017-12-13 06:03:26 -05:00
Santiago Pastorino
c9159262d1 Check NullaryOp Rvalue 2017-12-13 06:03:26 -05:00
Niko Matsakis
7f20b9142d fix universal regions to handle constant expressions like [T; 22] 2017-12-13 06:03:25 -05:00
Santiago Pastorino
d6772cb972 Check Repeat Rvalue 2017-12-13 06:03:25 -05:00
bors
dcf3db47c7 Auto merge of #46616 - cramertj:impl-trait-elision, r=nikomatsakis
Implement impl Trait lifetime elision

Fixes #43396.

There's one weird ICE in the interaction with argument-position `impl Trait`. I'm still debugging it-- I've left a test for it commented out with a FIXME.

Also included a FIXME to ensure that `impl Trait` traits are caught under the lint in https://github.com/rust-lang/rust/issues/45992.

r? @nikomatsakis
2017-12-13 04:19:26 +00:00
bors
691f022767 Auto merge of #46613 - petrochenkov:absext, r=nikomatsakis
Resolve absolute paths as extern under a feature flag

cc https://github.com/rust-lang/rust/issues/44660
r? @nikomatsakis
2017-12-13 01:44:36 +00:00
bors
442b7bd10a Auto merge of #46570 - AgustinCB:issue-46553, r=oli-obk
Ignore `unsopported constant expr` error

Fixes #46553
2017-12-12 23:08:56 +00:00
Vadim Petrochenkov
b07e26e36e Resolve absolute paths as extern under a feature flag 2017-12-13 00:02:23 +03:00
Vadim Petrochenkov
9552b9cfd2 rustc_metadata: Refactor away ExternCrateInfo 2017-12-12 23:50:35 +03:00
bors
6a36019440 Auto merge of #46696 - kennytm:rollup, r=kennytm
Rollup of 4 pull requests

- Successful merges: #46668, #46672, #46691, #46694
- Failed merges:
2017-12-12 20:31:17 +00:00
kennytm
80d1de97ad Rollup merge of #46694 - kennytm:temporarily-use-old-travis-image, r=aidanhs
Temporarily use the old Travis image.

Use it until travis-ci/travis-ci#8891 is fixed.

(See also https://blog.travis-ci.com/2017-12-12-new-trusty-images-q4-launch)

r? @aidanhs
2017-12-13 04:28:09 +08:00
kennytm
37cc63ab13 Rollup merge of #46691 - varkor:contrib-3, r=rkruppe
Fix return value of `LLVMRustMetadataAsValue`

`LLVMRustMetadataAsValue` would previously return `void`, despite the
corresponding Rust function expecting to return a `ValueRef`.
2017-12-13 04:28:08 +08:00
kennytm
6a365417c0 Rollup merge of #46672 - GuillaumeGomez:fix-type-filter-search, r=QuietMisdreavus
Fix type filter in rustdoc js

Fixes #46612.

r? @QuietMisdreavus
2017-12-13 04:28:06 +08:00
kennytm
c6ce7dae23 Rollup merge of #46668 - GuillaumeGomez:mobile-sidebar, r=QuietMisdreavus
Fix mobile doc style and improve search bar

Fixes #46593.

r? @QuietMisdreavus
2017-12-13 04:28:05 +08:00
kennytm
c0c26a649e
Temporarily use the old Travis image.
Use it until travis-ci/travis-ci#8891 is fixed.
2017-12-13 04:23:12 +08:00
Taylor Cramer
018c4038c7 Implement impl Trait lifetime elision 2017-12-12 10:56:09 -08:00
varkor
6487ee3444 Fix return value of LLVMRustMetadataAsValue
`LLVMRustMetadataAsValue` would previously return `void`, despite the
corresponding Rust function expecting to return a `ValueRef`.
2017-12-12 17:27:37 +00:00
bors
707d070815 Auto merge of #46647 - varkor:contrib-1, r=sfackler
Add `std::fmt::Pointer` implementation for `AtomicPtr`

Resolves #29212.
2017-12-12 15:54:13 +00:00
bors
4c2819d326 Auto merge of #46250 - canndrew:rename-never-type-impl-gate, r=petrochenkov
Rename never_type_impls gate

We no longer need a separately-named `never_type_impls` gate thanks to https://github.com/rust-lang/rust/issues/43089.
2017-12-12 13:16:30 +00:00
bors
3ece2d94d3 Auto merge of #46674 - malbarbo:undist-armv5te, r=alexcrichton
Remove armv5te target from dist-various-1

Reverts https://github.com/rust-lang/rust/pull/46498

I must have made some mistake when I tested that commit and thought armv5te target worked. but testing it now the produced binaries segfaults (https://github.com/rust-lang/rust/pull/46498#issuecomment-350599233).

I tried using crosstool-ng and buildroot toolchain (for armv5te) but the produced binaries also segfaults. Maybe there is a issue with the target, but I cannot investigate it any further.

I think the best for now is not to distribute the armv5te target.

I'm sorry for what happened.
2017-12-12 08:45:28 +00:00
bors
724500626b Auto merge of #46598 - davidtwco:issue-46471, r=arielb1
MIR borrowck: error message confuses locals and temporaries

Fixes #46471 and fixes #46472 (see [this Gitter comment](https://gitter.im/rust-impl-period/WG-compiler-nll?at=5a2d5cb53ae2aa6b3facf0c2)).

r? @arielb1
2017-12-12 06:11:33 +00:00
Andrew Cann
b9df045b79 Rename never_type_impls gate to never_type 2017-12-12 14:03:03 +08:00
bors
3a0b652846 Auto merge of #46411 - rillian:str_ascii, r=kennytm
Mark ascii methods on primitive types stable in 1.23.0 not 1.21.0.

The ascii_methods_on_intrinsics feature stabilization
didn't land in time for 1.21.0. Update the annotation
so the documentation is correct about when these
methods became available.
2017-12-12 03:30:43 +00:00
bors
5951f8d1ba Auto merge of #46657 - nikomatsakis:resolve-lifetimes-query, r=arielb1
move `resolve_lifetimes` into a proper query

Now that we made `resolve_lifetimes` into a query, elision errors no
longer abort compilation, which affects some tests.

Also, remove `dep_graph_crosscontaminate_tables` -- there is no a path in
the dep-graph, though red-green handles it. The same scenario
is (correctly) tested by issue-42602.rs in any case.

r? @michaelwoerister
2017-12-12 00:52:20 +00:00
Marco A L Barbosa
73e5334df3 Remove armv5te target from dist-various-1
Reverts https://github.com/rust-lang/rust/pull/46498

I must have made some mistake when I tested that commit and thought
armv5te target worked. but testing it now the produced binaries
segfaults
(https://github.com/rust-lang/rust/pull/46498#issuecomment-350599233).

I tried using crosstool-ng and buildroot toolchain (for armv5te) but
the produced binaries also segfaults. Maybe there is a issue with the
target, but I cannot investigate it any further.

I think the best for now is not to distribute the armv5te target.

I'm sorry for what happened.
2017-12-11 22:00:25 -02:00
Guillaume Gomez
557236c508 Fix type filter in rustdoc js 2017-12-12 00:19:36 +01:00
David Wood
3dbc11bc63
Updated existing tests with new error messages. 2017-12-11 22:20:15 +00:00
David Wood
00c7a3f4dc
Refactored and tidied up report function 2017-12-11 22:20:12 +00:00
Guillaume Gomez
a06c6bd63c Fix mobile doc style and improve search bar 2017-12-11 22:30:04 +01:00
bors
9fe7aa353f Auto merge of #46608 - estebank:resolve-return, r=nikomatsakis
Resolve type on return type suggestion

Partially address #45871.
2017-12-11 21:14:13 +00:00
Niko Matsakis
fdbd9b0dd5 make krate infallible 2017-12-11 15:52:46 -05:00
David Wood
baf68d3a37
Fixed case where borrowed value lives until after scope 2017-12-11 20:41:27 +00:00
David Wood
52442d4d8a
Fix error does not know about free/named lifetimes 2017-12-11 20:34:39 +00:00
David Wood
15b8fbdfb3
Added test for #46472 2017-12-11 20:26:06 +00:00
David Wood
d78e8a730a
Fix error message confuses locals and temporaries 2017-12-11 20:14:06 +00:00
David Wood
4651d1e3cf
Added test for #46471 2017-12-11 19:46:01 +00:00