Commit Graph

87743 Commits

Author SHA1 Message Date
Jethro Beekman
38f5c97c33 Revert "Remove some dead code from sgx"
This reverts commit 134661917b.
2018-12-19 12:16:04 +05:30
Jethro Beekman
4358be46c7 SGX target: fix docs build 2018-12-19 12:02:40 +05:30
Jethro Beekman
f72f28fae2 Show platform-specific modules in std::os when building those platforms 2018-12-19 11:53:40 +05:30
Alex Crichton
0feb680ac9 Remove now stray comment 2018-12-18 20:33:10 -08:00
Alex Crichton
1c8d8af316 Remove no longer working test 2018-12-18 19:03:12 -08:00
William Brown
0829d0c0e4 Updates based on comment 2018-12-19 12:40:57 +10:00
William Brown
00bd306e0d Extend documentation for mem uninit to discuss partial allocation of the values 2018-12-19 11:32:56 +10:00
Petr Hosek
6d9640b6f6 Search other library paths when loking for link objects
Support the case when link objects are not located in Rust sysroot
but in other locations which could be specify through library paths.
2018-12-18 16:17:58 -08:00
Ariel Ben-Yehuda
5b74438107 add comment about subtyping 2018-12-19 02:05:34 +02:00
Guillaume Gomez
3d8a066fa1 Replace current crate's searchIndex when regenerating 2018-12-19 00:51:37 +01:00
varkor
030987481b Fix string for array access suggestion 2018-12-18 23:43:00 +00:00
varkor
d6969ac2fb Fix string for raw pointer deref suggestion 2018-12-18 23:42:42 +00:00
varkor
c2402dca85 Replace "native pointer" in error message with "raw pointer" 2018-12-18 22:58:49 +00:00
John Heitmann
1182f09b1c Fix mobile menu rendering collision with tooltip.
Bring the mobile-mode menu in front of the ⓘ icon.
2018-12-18 13:55:30 -08:00
Alex Crichton
c383d389f0 Avoid using open_global_now 2018-12-18 13:02:14 -08:00
bors
d99a320cba Auto merge of #56863 - arielb1:supertrait-self-4, r=nikomatsakis
fix trait objects with a Self-containing projection values

Fixes #56288.

This follows ALT2 in the issue.

beta-nominating since this is a regression.

r? @nikomatsakis
2018-12-18 19:58:14 +00:00
Guillaume Gomez
170f068103 Don't render const keyword on stable 2018-12-18 20:36:15 +01:00
Oliver Scherer
f7314456d0 Mark tuple structs as live if their constructors are used 2018-12-18 15:54:06 +01:00
bors
cb84844e83 Auto merge of #56160 - oli-obk:const_fn_let, r=nikomatsakis
Fix various aspects around `let` bindings inside const functions

* forbid `let` bindings in const contexts that use short circuiting operators
* harden analysis code against derefs of mutable references

Initially this PR was about stabilizing `let` bindings, but too many flaws were exposed that need some more testing on nightly
2018-12-18 14:21:07 +00:00
Jethro Beekman
15ea63bed5 Update LLVM submodule 2018-12-18 15:26:10 +05:30
Oliver Scherer
50eb5f6137 Explain the math 2018-12-18 10:08:37 +01:00
Ralf Jung
c1160a8f86 treat ref-to-raw cast like a reborrow: do a special kind of retag 2018-12-18 09:56:31 +01:00
Oliver Scherer
d815e2b870 Explain that lack of short circuiting support in constants is temporary 2018-12-18 09:42:46 +01:00
Oliver Scherer
b678238070 Properly worded diagnostic message 2018-12-18 09:16:56 +01:00
John Heitmann
5056669fc8 Fix rustdoc-js tests
Fixes rustdoc-js tests by teaching tester.js how to handle single-line js comments.

Also, added speculative support for template strings, and warnings for future debuggers.
2018-12-18 00:12:40 -08:00
bors
041254b814 Auto merge of #56481 - arielb1:dynamic-order, r=nikomatsakis
add coherence future-compat warnings for marker-only trait objects

The future-compat warnings break code that assumes that `dyn Send + Sync !=
dyn Sync + Send`, and are the first step in making them equal. cc #33140.

Note: this lint should be made to default-warn before we merge. It is deny only for the crater run.

r? @nikomatsakis / @scalexm . cc @Centril & @alexreg.
2018-12-18 06:50:11 +00:00
Alex Crichton
bd18a9295c bootstrap: Link LLVM as a dylib with ThinLTO
When building a distributed compiler on Linux where we use ThinLTO to
create the LLVM shared object this commit switches the compiler to
dynamically linking that LLVM artifact instead of statically linking to
LLVM. The primary goal here is to reduce CI compile times, avoiding two+
ThinLTO builds of all of LLVM. By linking dynamically to LLVM we'll
reuse the one ThinLTO step done by LLVM's build itself.

Lots of discussion about this change can be found [here] and down. A
perf run will show whether this is worth it or not!

[here]: https://github.com/rust-lang/rust/pull/53245#issuecomment-417015334
2018-12-17 21:13:32 -08:00
Nicole Mazzuca
de39aea91c fix tests 2018-12-17 20:21:21 -08:00
Andy Russell
82e55c1bdc
deny intra-doc link resolution failures in libstd 2018-12-17 21:10:24 -05:00
Nathan West
a1790e8c20
Reordered match arms 2018-12-17 17:43:52 -08:00
Nicole Mazzuca
e36b62873f rename div_euc -> div_euclid, and mod_euc -> rem_euclid
logic is written up in https://github.com/rust-lang/rust/issues/49048

Also, update the documentation slightly
2018-12-17 16:41:48 -08:00
Guillaume Gomez
2968a5a398 Fix DOM errors 2018-12-18 01:04:23 +01:00
Ariel Ben-Yehuda
1fd23f56f3 improve tests as suggested by review comments 2018-12-18 00:33:21 +02:00
Clar Fon
6130fc884b Add --progress to git submodule commands 2018-12-17 17:19:22 -05:00
bors
c9bb68f5ae Auto merge of #56303 - petrochenkov:stabuseas, r=cramertj
Stabilize `underscore_imports`

Closes https://github.com/rust-lang/rust/issues/48216
2018-12-17 22:18:26 +00:00
Pietro Albini
173a3b292d
update release notes for rust 1.31.1 2018-12-17 22:59:32 +01:00
Alex Crichton
5e5823c67b Update the stdsimd submodule
This brings in a few updates:

* Update wasm intrinsic naming for atomics
* Update and reimplement most simd128 wasm intrinsics
* Other misc improvements here and there, including a small start to
  AVX-512 intrinsics
2018-12-17 13:40:21 -08:00
Vadim Petrochenkov
7c901ba537 Stabilize underscore_imports 2018-12-17 22:43:00 +03:00
Esteban Küber
25b3c82508 Do not point at delim spans for complete correct blocks 2018-12-17 10:22:49 -08:00
Dan Robertson
e7e17f9d1b
static eval: Do not ICE on layout size overflow
Layout size overflow and typeck eval errors are reported. Trigger a bug
only when the eval error is strictly labeled as TooGeneric.
2018-12-17 17:45:14 +00:00
Alex Crichton
a0b766d584 rustc: Don't ICE on usage of two new target features
I seem to always forget to update this portion of the compiler...
2018-12-17 08:47:03 -08:00
David Wood
7b628e18a3
Add required lifetime parameter to BitDenotation.
This avoids all sorts of confusing issues with using both `dest_place`
and `self` in the `propagate_call_return` function in the
`BitDenotation` implementation for `Borrows`.
2018-12-17 17:26:24 +01:00
bors
adbfec229c Auto merge of #56904 - sinkuu:cycle_fold, r=bluss
Remove Cycle::try_fold override

Fixes #56883
2018-12-17 16:01:46 +00:00
Oliver Scherer
3e7a4ca2f1 Remove a wrong multiplier on relocation offset computation 2018-12-17 16:47:26 +01:00
ljedrz
826cda6640 profiler: improve readability 2018-12-17 16:41:59 +01:00
ljedrz
1b549ebbdf profiler: simplify total_duration 2018-12-17 16:41:44 +01:00
David Wood
db635fc566
Kill borrows from a projection after assignment.
This commit extends previous work to kill borrows from a local after
assignment into that local to kill borrows from a projection after
assignment into a prefix of that place.
2018-12-17 14:49:52 +01:00
bors
54f3cd6873 Auto merge of #56810 - sinkuu:build_match, r=oli-obk
Improve MIR match generation for ranges

Improves MIR match generation to rule out ranges/values distinct from the range that has been tested. e.g., for this code:

```rust
match x {
    0..=5 if b => 0,
    6..=10 => 1,
    _ => 2,
}
```

MIR (before):

```rust
bb0: { ...; _4 = Le(const 0i32, _1); switchInt(move _4) -> [false: bb6, otherwise: bb5]; }
bb1: { _3 = const 0i32; goto -> bb8; }
bb2: { _6 = _2; switchInt(move _6) -> [false: bb6, otherwise: bb1]; } // If `!b`, jumps to test if `6 <= x <= 10`.
bb3: { _3 = const 1i32; goto -> bb8; }
bb4: { _3 = const 2i32; goto -> bb8; }
bb5: { _5 = Le(_1, const 5i32); switchInt(move _5) -> [false: bb6, otherwise: bb2]; }
bb6: { _7 = Le(const 6i32, _1); switchInt(move _7) -> [false: bb4, otherwise: bb7]; }
bb7: { _8 = Le(_1, const 10i32); switchInt(move _8) -> [false: bb4, otherwise: bb3]; }
```

MIR (after):
```rust
bb0: { ...; _4 = Le(const 0i32, _1); switchInt(move _4) -> [false: bb5, otherwise: bb6]; }
bb1: { _3 = const 0i32; goto -> bb8; }
bb2: { _6 = _2; switchInt(move _6) -> [false: bb4, otherwise: bb1]; } // If `!b`, jumps to `_ =>` arm.
bb3: { _3 = const 1i32; goto -> bb8; }
bb4: { _3 = const 2i32; goto -> bb8; }
bb5: { _7 = Le(const 6i32, _1); switchInt(move _7) -> [false: bb4, otherwise: bb7]; }
bb6: { _5 = Le(_1, const 5i32); switchInt(move _5) -> [false: bb5, otherwise: bb2]; }
bb7: { _8 = Le(_1, const 10i32); switchInt(move _8) -> [false: bb4, otherwise: bb3]; }
```

cc #29623
2018-12-17 13:26:40 +00:00
Shotaro Yamada
e38e954a0d Simplify MIR generation for logical ops 2018-12-17 22:16:13 +09:00
Wonwoo Choi
0b00dbedce Enable stack probes for UEFI images 2018-12-17 21:47:31 +09:00