Commit Graph

83266 Commits

Author SHA1 Message Date
John Renner
08ea5b7c78 Fix #[test] shadowing in macro_prelude 2018-09-04 22:33:10 -07:00
John Renner
9b27de41d4 Introduce Custom Test Frameworks 2018-09-04 22:33:00 -07:00
bors
0be2c30369 Auto merge of #53075 - Mark-Simulacrum:update-cargolock, r=alexcrichton
Update Cargo.lock

This also includes major version bumps for the rand crate used by core, std, and alloc tests, among other crates (regex, etc.) used elsewhere. Since these are all internal there should be no user-visible changes.

r? @alexcrichton
2018-09-05 03:04:20 +00:00
bors
f68b7cc598 Auto merge of #53027 - matklad:once_is_completed, r=alexcrichton
Allow to check if sync::Once is already initialized

Hi!

I propose to expose a way to check if a `Once` instance is initialized.

I need it in `once_cell`. `OnceCell` is effetively a pair of `(Once, UnsafeCell<Option<T>>)`, which can set the `T` only once. Because I can't check if `Once` is initialized, I am forced to add an indirection and check the value of ptr instead:

8127a81976/src/lib.rs (L423-L429)

8127a81976/src/lib.rs (L457-L461)

The `parking_lot`'s version of `Once` exposes the state as an enum: https://docs.rs/parking_lot/0.6.3/parking_lot/struct.Once.html#method.state.

I suggest, for now, just to add a simple `bool` function: this fits my use-case perfectly, exposes less implementation details, and is forward-compatible with more fine-grained state checking.
2018-09-05 00:37:03 +00:00
Mark Rousskov
9ec5ef541a Breaking change upgrades 2018-09-04 13:22:08 -06:00
Tom Tromey
289da84381 Restore lldb build
commit 6c10142251 ("Update LLVM submodule") disabled the lldb build.
This patch updates the lldb and clang submodules to once again build
against the LLVM that is included in the Rust tree, and reverts the
.travis.yml changes from that patch.
2018-09-04 11:21:58 -06:00
Felix S. Klock II
6bde4298d8 Minimized (and then greatly expanded) test of failure cases from rust-lang/rust#52934. 2018-09-04 16:22:22 +02:00
bors
1c2e17f4e3 Auto merge of #53870 - Xanewok:update-rls, r=oli-obk
Update RLS and Rustfmt

RLS
* Allow project model to download crates ([#1020](https://github.com/rust-lang-nursery/rls/pull/1020))
* Support simple external builds ([#988](https://github.com/rust-lang-nursery/rls/pull/988))
* Support using external Rustfmt ([#990](https://github.com/rust-lang-nursery/rls/pull/990))

Rustfmt (0.99.4)
* Format chains with comment ([#2899](https://github.com/rust-lang-nursery/rls/pull/2899))
* Do not show wildcard pattern in slice pattern ([#2912](https://github.com/rust-lang-nursery/rls/pull/2912))
* Impl only use ([#2951](https://github.com/rust-lang-nursery/rls/pull/2951))
* ... and [more](5c9a2b6c13...1c408818c8)

Bumped in tandem to pull a single version of `rustc-ap-*` libs.

r? @nrc
2018-09-04 13:17:07 +00:00
Igor Matuszewski
d5e5e76a7d Update RLS wrt recent Clippy changes 2018-09-04 14:49:21 +02:00
Tobias Bucher
0e62990760 Clarify ManuallyDrop docs
Mention that you can use `into_inner` to drop the contained value.
2018-09-04 14:43:21 +02:00
Igor Matuszewski
e976baee55 Update Rustfmt to 0.99.4
This pulls the same version of rustc-ap-* libs as RLS does.
2018-09-04 12:02:28 +02:00
Igor Matuszewski
2944f2b6e8 Update RLS 2018-09-04 12:02:28 +02:00
Nicholas Nethercote
fb307e529d Rewrite precompute_borrows_out_of_scope for fewer hash table lookups.
It now does one hash table lookup per basic block, instead of one per
statement. This is worthwhile because this function is hot for NLL
builds of `ucd`.
2018-09-04 19:23:14 +10:00
bors
4efc0a7811 Auto merge of #53928 - tbu-:pr_doc_fromrawmut, r=frewsxcv
Link to more detailed docs in `slice::from_raw_parts_mut`
2018-09-04 07:11:35 +00:00
bors
8b80390ead Auto merge of #53927 - ljedrz:save_analysis_cleanups, r=oli-obk
A few cleanups and minor improvements to save_analysis

- calculate the capacity of some `Vec`s
- change`to_owned()` to `clone()` for the purposes of `lower_attributes`
- remove a superfluous `clone()`
- prefer `to_owned()` to `to_string()`
- a few other minor improvements
2018-09-04 02:50:59 +00:00
bors
c7fc1a55a2 Auto merge of #53883 - RalfJung:miri-assert, r=oli-obk
miri engine: make sure we do not copy unsized data

r? @oli-obk
2018-09-03 23:20:31 +00:00
bors
0f063aef62 Auto merge of #53926 - japaric:arm-features, r=alexcrichton
whitelist some ARM features

required for rust-lang-nursery/stdsimd#557

r? @gnzlbg or @alexcrichton
2018-09-03 20:59:09 +00:00
Matthew Jasper
faf80ad397 remove base_place 2018-09-03 21:50:03 +01:00
Bruno Dutra
05cdf8dc3d Document snapshot.rs 2018-09-03 20:03:14 +02:00
Bruno Dutra
61a999a531 Move InfiniteLoopDetector to snapshot.rs 2018-09-03 20:02:35 +02:00
Bruno Dutra
a26ceb3be4 Use EvalContext's TyCtx for the purpose of hashing the evaluation context 2018-09-03 20:02:35 +02:00
Bruno Dutra
add9ee24db Keep lines shorter than 100 characters 2018-09-03 20:02:35 +02:00
Bruno Dutra
4eb8d94cd9 Add a convenience macro to reduce code duplication 2018-09-03 20:02:35 +02:00
Bruno Dutra
0a84ff07bd Add an info log when snapshotting the constant evaluation context 2018-09-03 20:02:35 +02:00
Bruno Dutra
806ecabab1 Add regression test for #52475 2018-09-03 20:02:35 +02:00
Bruno Dutra
927c709eb9 Impl Eq and PartialEq for EvalSnapshot in terms of the Snapshot trait 2018-09-03 20:02:35 +02:00
Bruno Dutra
bf6ba974de Impl SnapshotContext for Memory 2018-09-03 20:02:35 +02:00
Bruno Dutra
adb1965c12 Introduce Snapshot and SnapshotContext traits 2018-09-03 20:02:35 +02:00
Bruno Dutra
2f5c3fde7c Make vaious allocation related types generic on the allocation id 2018-09-03 20:02:35 +02:00
Bruno Dutra
015f470daa Move EvalSnapshot into its own module 2018-09-03 20:02:35 +02:00
Bruno Dutra
a083aa02ed Implement Hash in terms of HashStable for EvalSnapshot 2018-09-03 20:02:35 +02:00
Bruno Dutra
030077401d Promote EvalSnapshot to newtype 2018-09-03 20:02:35 +02:00
Bruno Dutra
7fa42beef8 Remove unused alloc_id_recursion_tracker 2018-09-03 20:02:35 +02:00
ljedrz
9883dd73aa A few cleanups and minor improvements to save_analysis 2018-09-03 18:37:54 +02:00
bors
cd5c26f0eb Auto merge of #53697 - Cyres:const-fn-int-ops, r=oli-obk
Add more const int ops

r? @oli-obk

Tracking Issue: #53718

list of `const fn`s in this PR:

- `feature = const_int_rotate`
  - `rotate_left`
  - `rotate_right`
- `feature = const_int_wrapping`
  - `wrapping_add`
  - `wrapping_sub`
  - `wrapping_mul`
  - `wrapping_shl`
  - `wrapping_shr`
- `feature = const_int_overflowing`
  - `overflowing_add`
  - `overflowing_sub`
  - `overflowing_mul`
  - `overflowing_shl`
  - `overflowing_shr`
- `feature = const_int_sign`
  - `is_positive`
  - `is_negative`
- `feature = const_int_conversion`
  - `reverse_bits`
  - `to_le_bytes`
  - `to_ne_bytes`
  - `from_be_bytes`
  - `from_le_bytes`
  - `from_ne_bytes`
  - `reverse_bits`
2018-09-03 16:31:34 +00:00
Tobias Bucher
fe56878a24 Link to more detailed docs in slice::from_raw_parts_mut 2018-09-03 18:29:08 +02:00
Jorge Aparicio
bac0eb2f37 whitelist some ARM features 2018-09-03 16:52:43 +02:00
bors
ee73f80dc9 Auto merge of #53673 - michaelwoerister:incr-thinlto-2000, r=alexcrichton
Enable ThinLTO with incremental compilation.

This is an updated version of #52309. This PR allows `rustc` to use (local) ThinLTO and incremental compilation at the same time. In theory this should allow for getting compile-time improvements for small changes while keeping the runtime performance of the generated code roughly the same as when compiling non-incrementally.

The difference to #52309 is that this version also caches the pre-LTO version of LLVM bitcode. This allows for another layer of caching:
1. if the module itself has changed, we have to re-codegen and re-optimize.
2. if the module itself has not changed, but a module it imported from during ThinLTO has, we don't need to re-codegen and don't need to re-run the first optimization phase. Only the second (i.e. ThinLTO-) optimization phase is re-run.
3. if neither the module itself nor any of its imports have changed then we can re-use the final, post-ThinLTO version of the module. (We might have to load its pre-ThinLTO version though so it's available for other modules to import from)
2018-09-03 13:59:57 +00:00
Tim Diekmann
4811e5b6c7
Add missing brace 2018-09-03 15:26:27 +02:00
Cyres
beadf75ad0 Add ident function to the rest of the tests 2018-09-03 15:25:06 +02:00
Tim Diekmann
e54c5a9e48
Wrap rhs in ident function 2018-09-03 15:01:04 +02:00
Tim Diekmann
256cf8681e
Add const_unstable flag to overflowing_shr 2018-09-03 14:53:05 +02:00
bors
591a17d3d9 Auto merge of #53831 - TheDarkula:pointer-check, r=oli-obk
Added pointer checking to sanity checks

r? @oli-obk
2018-09-03 11:31:15 +00:00
Michael Woerister
21d05f64aa incr.ThinLTO: Do some cleanup and add some logging. 2018-09-03 13:26:46 +02:00
Michael Woerister
d5545751f9 Add memmap crate to tidy whitelist. 2018-09-03 13:26:24 +02:00
bors
f3bb23191c Auto merge of #53865 - zilbuz:issue-52768, r=pnkfelix
Remove 'not reporting regions error due to nll' warning

Fix #52768
2018-09-03 08:56:42 +00:00
bors
2687112ea6 Auto merge of #53838 - nrc:save-generic, r=eddyb
save-analysis: record info for the types in `where` clauses

cc https://github.com/rust-lang-nursery/rls/issues/987

r? @eddyb
2018-09-03 02:32:11 +00:00
bors
9395f0af78 Auto merge of #53725 - tbu-:pr_getrandom_syscalls, r=alexcrichton
Reduce number of syscalls in `rand`

This skips the initial zero-length `getrandom` call and
directly hands the user buffer to the operating system, saving one
`getrandom` syscall.
2018-09-02 21:24:18 +00:00
bors
763d91aa12 Auto merge of #53899 - Manishearth:clippyup, r=kennytm
Update clippy

r? @kennytm @oli-obk
2018-09-02 18:13:03 +00:00
bors
23ea1b8188 Auto merge of #53599 - matthiaskrgr:split_str__to__split_char, r=frewsxcv
use char pattern for single-character splits: a.split("x") -> a.split('x')
2018-09-02 15:27:56 +00:00