about summary refs log tree commit diff
path: root/src
AgeCommit message (Collapse)AuthorLines
2018-09-05Implement initializer() for FileDescFrançois Bernier-1/+6
in order to avoid constantly zeroing memory when it's not needed.
2018-09-05Auto merge of #52994 - varkor:trim_direction, r=alexcrichtonbors-43/+195
Add trim_start, trim_end etc.; deprecate trim_left, trim_right, etc. in future Adds the methods: `trim_start`, `trim_end`, `trim_start_matches` and `trim_end_matches`. Deprecates `trim_left`, `trim_right`, `trim_left_matches` and `trim_right_matches` starting from Rust 1.33.0, three versions from when they'll initially be marked as being deprecated, using the future deprecation from https://github.com/rust-lang/rust/issues/30785 and https://github.com/rust-lang/rust/pull/51681. Fixes https://github.com/rust-lang/rust/issues/30459.
2018-09-05Auto merge of #53962 - michaelwoerister:close-thinlto-file-descriptors, ↵bors-4/+4
r=alexcrichton ThinLTO: Don't keep files open after mmaping them. Fixes #53947. r? @alexcrichton
2018-09-05Auto merge of #53951 - tromey:restore-lldb-build, r=alexcrichtonbors-0/+0
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-05Pick up State.h include path changeTom Tromey-0/+0
2018-09-05Auto merge of #53878 - alexcrichton:wasm-atomics-feature, r=eddybbors-6/+15
rustc: Prepare the `atomics` feature for wasm This commit adds a few changes for atomic instructions on the `wasm32-unknown-unknown` target. Atomic instructions are not yet stable in WebAssembly itself but there are multiple implementations and LLVM has support for the proposed instruction set, so let's work on exposing it! Here there are a few inclusions: * The `atomics` feature was whitelisted for LLVM, allowing code in Rust to enable/disable/gate on this. * The `singlethread` option is turned off for wasm when the `atomics` feature is enabled. This means that by default wasm won't be lowering with atomics, but when atomics are enabled globally we'll turn off single-threaded mode to actually codegen atomics. This probably isn't what we'll want in the long term but for now it should work. * Finally the maximum atomic width is increased to 64 to reflect the current wasm spec.
2018-09-05ThinLTO: Don't keep files open after mmaping them (because it's not needed).Michael Woerister-4/+4
2018-09-05Auto merge of #53867 - cwndrws:json-test-formatter-test-count-as-num, r=nrcbors-4/+4
Make json test output formatter represent "test_count" as num fixes #53866
2018-09-04Move #[test_case] to a syntax extensionJohn Renner-82/+108
2018-09-04Document #[test_case] and #![test_runner]John Renner-4/+37
2018-09-04Fix #[test] shadowing in macro_preludeJohn Renner-6/+70
2018-09-04Introduce Custom Test FrameworksJohn Renner-574/+804
2018-09-05Auto merge of #53075 - Mark-Simulacrum:update-cargolock, r=alexcrichtonbors-49/+99
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-05Auto merge of #53027 - matklad:once_is_completed, r=alexcrichtonbors-14/+59
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: https://github.com/matklad/once_cell/blob/8127a81976c3f2f4c0860562c3f14647ebc025c0/src/lib.rs#L423-L429 https://github.com/matklad/once_cell/blob/8127a81976c3f2f4c0860562c3f14647ebc025c0/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-04Breaking change upgradesMark Rousskov-49/+99
2018-09-04Restore lldb buildTom Tromey-0/+0
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-04Update RLS wrt recent Clippy changesIgor Matuszewski-0/+0
2018-09-04Update Rustfmt to 0.99.4Igor Matuszewski-46/+52
This pulls the same version of rustc-ap-* libs as RLS does.
2018-09-04Update RLSIgor Matuszewski-0/+0
2018-09-04Auto merge of #53928 - tbu-:pr_doc_fromrawmut, r=frewsxcvbors-4/+7
Link to more detailed docs in `slice::from_raw_parts_mut`
2018-09-04Auto merge of #53927 - ljedrz:save_analysis_cleanups, r=oli-obkbors-23/+16
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-03Auto merge of #53883 - RalfJung:miri-assert, r=oli-obkbors-0/+2
miri engine: make sure we do not copy unsized data r? @oli-obk
2018-09-03Auto merge of #53926 - japaric:arm-features, r=alexcrichtonbors-0/+4
whitelist some ARM features required for rust-lang-nursery/stdsimd#557 r? @gnzlbg or @alexcrichton
2018-09-03A few cleanups and minor improvements to save_analysisljedrz-23/+16
2018-09-03Auto merge of #53697 - Cyres:const-fn-int-ops, r=oli-obkbors-58/+1033
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-03Link to more detailed docs in `slice::from_raw_parts_mut`Tobias Bucher-4/+7
2018-09-03whitelist some ARM featuresJorge Aparicio-0/+4
2018-09-03Auto merge of #53673 - michaelwoerister:incr-thinlto-2000, r=alexcrichtonbors-297/+647
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-03Add missing braceTim Diekmann-1/+1
2018-09-03Add ident function to the rest of the testsCyres-22/+34
2018-09-03Wrap rhs in ident functionTim Diekmann-7/+11
2018-09-03Add const_unstable flag to `overflowing_shr`Tim Diekmann-0/+1
2018-09-03Auto merge of #53831 - TheDarkula:pointer-check, r=oli-obkbors-52/+361
Added pointer checking to sanity checks r? @oli-obk
2018-09-03incr.ThinLTO: Do some cleanup and add some logging.Michael Woerister-62/+57
2018-09-03Add memmap crate to tidy whitelist.Michael Woerister-0/+1
2018-09-03Auto merge of #53865 - zilbuz:issue-52768, r=pnkfelixbors-2104/+150
Remove 'not reporting regions error due to nll' warning Fix #52768
2018-09-03Auto merge of #53838 - nrc:save-generic, r=eddybbors-11/+18
save-analysis: record info for the types in `where` clauses cc https://github.com/rust-lang-nursery/rls/issues/987 r? @eddyb
2018-09-02Auto merge of #53725 - tbu-:pr_getrandom_syscalls, r=alexcrichtonbors-40/+26
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-02Auto merge of #53899 - Manishearth:clippyup, r=kennytmbors-5/+19
Update clippy r? @kennytm @oli-obk
2018-09-02Auto merge of #53599 - matthiaskrgr:split_str__to__split_char, r=frewsxcvbors-3/+3
use char pattern for single-character splits: a.split("x") -> a.split('x')
2018-09-02Update clippyManish Goregaokar-5/+19
2018-09-02Replace check() + bump() with eat()Seiichi Uchida-20/+10
2018-09-02Auto merge of #53887 - flip1995:tool_lints, r=Manishearthbors-1/+57
Fix of bug introduced by #53762 (tool_lints) Before implementing backwards compat for tool lints, the `Tool` case when parsing cmdline lints was unreachable. This changed with #53762. This fix is needed for rls test-pass. (@nrc) r? @Manishearth
2018-09-01Auto merge of #53842 - estebank:various, r=petrochenkovbors-31/+43
Various small diagnostic and code clean up - Point at def span on incorrect `panic` or `oom` function - Use structured suggestion instead of note for `+=` that can be performed on a dereference of the left binding - Small code formatting cleanup
2018-09-02Fix an endless loop when `getrandom` is not availableTobias Bucher-0/+1
2018-09-01Auto merge of #53815 - F001:if-let-guard, r=petrochenkovbors-35/+115
refactor match guard This is the first step to implement RFC 2294: if-let-guard. Tracking issue: https://github.com/rust-lang/rust/issues/51114 The second step should be introducing another variant `IfLet` in the Guard enum. I separated them into 2 PRs for the convenience of reviewers. r? @petrochenkov
2018-09-01Auto merge of #53533 - withoutboats:error-source, r=withoutboatsbors-1/+66
Add Error::source method per RFC 2504. This implements part of RFC 2504. * Adds `Error::source`, a replacement for `Error::cause` with the "right" signature, which will be instantly stable. * Deprecates `Error::cause` in 1.33 (this choice was based on the precedent in #52994, which we haven't finalized). * Redefines `Error::cause` to delegate to `Error::source` (the delegation can only go in this direction, not the other). @rfcbot fcp merge
2018-09-01deprcated -> deprecatedManish Goregaokar-2/+2
2018-09-01Add tests for cmdline tool lintsflip1995-0/+48
2018-09-01Auto merge of #53884 - kennytm:rollup, r=kennytmbors-240/+280
Rollup of 9 pull requests Successful merges: - #53076 (set cfg(rustdoc) when rustdoc is running on a crate) - #53622 (cleanup: Add main functions to some UI tests) - #53769 (Also link Clippy repo in the CONTRIBUTING.md file) - #53774 (Add rust-gdbgui script.) - #53781 (bench: libcore: fix build failure of any.rs benchmark (use "dyn Any")) - #53782 (Make Arc cloning mechanics clearer in module docs) - #53790 (Add regression test for issue #52060) - #53801 (Prevent duplicated impl on foreign types) - #53850 (Nuke the `const_to_allocation` query)