about summary refs log tree commit diff
AgeCommit message (Collapse)AuthorLines
2018-12-20Fix pipe2 and accept4 on static linked executables on linux (like musl).Adrian Budau-27/+81
2018-12-19Auto merge of #56397 - petrhosek:file-search, r=cramertjbors-5/+46
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-18Search other library paths when loking for link objectsPetr Hosek-5/+46
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-18Auto merge of #56863 - arielb1:supertrait-self-4, r=nikomatsakisbors-3/+193
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-18Auto merge of #56160 - oli-obk:const_fn_let, r=nikomatsakisbors-132/+1085
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-18Explain that lack of short circuiting support in constants is temporaryOliver Scherer-3/+6
2018-12-18Properly worded diagnostic messageOliver Scherer-3/+3
2018-12-18Auto merge of #56481 - arielb1:dynamic-order, r=nikomatsakisbors-59/+458
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-18improve tests as suggested by review commentsAriel Ben-Yehuda-2/+92
2018-12-17Auto merge of #56303 - petrochenkov:stabuseas, r=cramertjbors-69/+11
Stabilize `underscore_imports` Closes https://github.com/rust-lang/rust/issues/48216
2018-12-17Stabilize `underscore_imports`Vadim Petrochenkov-69/+11
2018-12-17Auto merge of #56904 - sinkuu:cycle_fold, r=blussbors-13/+2
Remove Cycle::try_fold override Fixes #56883
2018-12-17Auto merge of #56810 - sinkuu:build_match, r=oli-obkbors-69/+339
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-17Auto merge of #56853 - matthiaskrgr:clippy, r=oli-obkbors-19/+12
submodules: update clippy from b7a431ea to a416c5e0 Changes: ```` rustup rust-lang/rust#52994 Fix test Line length fix Remove references to sized for end users Remove DUMMY_SP Add suggestion for replacement Update lint definitions Lint for Vec<Box<T: Sized>> - Closes #3530 Fix doc_markdown mixed case false positive question_mark: Suggest Some(opt?) for if-else redundant_field_names: Do not trigger on path with type params question_mark: Lint only early returns question_mark: Fix applicability Remove obsolete comment new_without_default, partialeq_ne_impl: Use span_lint_node Update .stderr after rebase cargo fmt and remove stabilized feature Make suggestion Applicability::MachineApplicable Address review feedback Extract method Check array lengths to prevent OOB access Add suggestion for explicit_write lint Fix write_with_newline escaping false positive ```` make toolstate green again
2018-12-17Auto merge of #56833 - nagisa:ios-fix, r=alexcrichtonbors-0/+2
Provide -isysroot with sdkroot for ios builds Necessary for the new XCode? Absolutely positively definitely untested… although I did ``` cargo rustc -- -Clink-arg=-isysroot -Clink-arg=$sdk_root ``` and stuff did compile for once.
2018-12-17tidyShotaro Yamada-1/+1
2018-12-17Add MIR testShotaro Yamada-0/+85
2018-12-17Auto merge of #56764 - sinkuu:simpcfg_bb0, r=matthewjasperbors-1/+80
mir-opt: Make SimplifyCfg collapse goto chains starting from bb0 `SimplifyCfg` pass was not able to collapse goto chains starting from bb0, leaving MIR like this: ``` bb0: { goto -> bb1; } ```
2018-12-17Remove `<Cycle as Iterator>::try_fold` overrideShotaro Yamada-13/+2
It was a incorrect optimization.
2018-12-17Auto merge of #56642 - nikic:llvm-6, r=alexcrichtonbors-95/+16
Bump minimum required LLVM version to 6.0 Based on the discussion in #55842, while the overall position of Rust wrt LLVM continues to be contentious, there does seem to be a consensus that there is no need for continued support of LLVM 5. This PR bumps our version requirement to LLVM 6.0 and makes Travis run against that. I hope that this is going to unblock #52694. If I understand correctly, while this issue still exists in LLVM 6, Ubuntu has backported the relevant patch. r? @alexcrichton
2018-12-17Auto merge of #56737 - nnethercote:TokenStream-improvements, r=petrochenkovbors-285/+107
`TokenStream` improvements Some `TokenStream` improvements: shrinking `TokenStream` and some other types, and some other code clean-ups.
2018-12-16Auto merge of #56875 - Centril:rollup, r=Centrilbors-835/+648
Rollup of 20 pull requests Successful merges: - #53506 (Documentation for impl From for AtomicBool and other Atomic types) - #56343 (Remove not used mod) - #56439 (Clearer error message for dead assign) - #56640 (Add FreeBSD unsigned char platforms to std::os::raw) - #56648 (Fix BTreeMap UB) - #56672 (Document time of back operations of a Linked List) - #56706 (Make `const unsafe fn` bodies `unsafe`) - #56742 (infer: remove Box from a returned Iterator) - #56761 (Suggest using `.display()` when trying to print a `Path`) - #56781 (Update LLVM submodule) - #56789 (rustc: Add an unstable `simd_select_bitmask` intrinsic) - #56790 (Make RValue::Discriminant a normal Shallow read) - #56793 (rustdoc: look for comments when scraping attributes/crates from doctests) - #56826 (rustc: Add the `cmpxchg16b` target feature on x86/x86_64) - #56832 (std: Use `rustc_demangle` from crates.io) - #56844 (Improve CSS rule) - #56850 (Fixed issue with using `Self` ctor in typedefs) - #56855 (Remove u8 cttz hack) - #56857 (Fix a small mistake regarding NaNs in a deprecation message) - #56858 (Fix doc of `std::fs::canonicalize`) Failed merges: - #56741 (treat ref-to-raw cast like a reborrow: do a special kind of retag) r? @ghost
2018-12-16Auto merge of #56876 - GuillaumeGomez:fix-JS-errors, r=QuietMisdreavusbors-6/+6
Fix js errors Fix JS error (you can see it on the iterator doc page) and the invalid theme switch. r? @QuietMisdreavus
2018-12-16Fix invalid JS file generationGuillaume Gomez-4/+4
2018-12-16Rollup merge of #56858 - tbu-:pr_doc_canonicalize, r=shepmasterMazdak Farrokhzad-1/+1
Fix doc of `std::fs::canonicalize` Point out that the final component of the path name might be a filename (and not a directory name). Previously, the doc said that all components of the path must be directory names, when it actually only ment all but the final one. Fixes #54056.
2018-12-16Rollup merge of #56857 - tbu-:pr_doc_abssub, r=zackmdavisMazdak Farrokhzad-2/+4
Fix a small mistake regarding NaNs in a deprecation message `max` on floats returns the other argument if one of them is NaN, which would be `0.0` in this case. This is unlike the C functions `fdim` and `fdimf` which return NaN if either of their arguments is NaN. https://doc.rust-lang.org/1.31.0/std/primitive.f32.html#method.max https://en.cppreference.com/w/c/numeric/math/fdim
2018-12-16Rollup merge of #56855 - nikic:remove-cttz-hack, r=nagisaMazdak Farrokhzad-14/+1
Remove u8 cttz hack This issue has since been fixed in LLVM: https://github.com/llvm-mirror/llvm/commit/1886c8e29a9992d73c5e6ba0d52eb98ee036ab5d Furthermore this code doesn't actually work, because the 8 literal does not match the $BITS provided from the macro invocation, so effectively this was just dead code. Ref #43024. What LLVM does is still not ideal for CPUs that only have bsf but not tzcnt, will create a patch for that later. r? @nagisa
2018-12-16Rollup merge of #56850 - alexreg:fix-self-in-typedefs, r=petrochenkovMazdak Farrokhzad-55/+176
Fixed issue with using `Self` ctor in typedefs Added two regression tests. This is definitely suitable for a beta backport. CC @Centril
2018-12-16Rollup merge of #56844 - GuillaumeGomez:improve-css-rule, r=QuietMisdreavusMazdak Farrokhzad-1/+1
Improve CSS rule Needed for #56819. r? @QuietMisdreavus
2018-12-16Rollup merge of #56832 - alexcrichton:external-demangle, r=Mark-SimulacrumMazdak Farrokhzad-236/+27
std: Use `rustc_demangle` from crates.io No more need to duplicate the demangling routine between crates.io and the standard library, we can use the exact same one!
2018-12-16Rollup merge of #56826 - alexcrichton:atomic-u128, r=gnzlbgMazdak Farrokhzad-0/+2
rustc: Add the `cmpxchg16b` target feature on x86/x86_64 This appears to be called `cx16` in LLVM and a few other locations, but the Intel Intrinsic Guide doesn't have a name for this and the CPU manual from Intel only mentions `cmpxchg16b`, so that's the name chosen here.
2018-12-16Rollup merge of #56793 - QuietMisdreavus:better-doctests, r=GuillaumeGomezMazdak Farrokhzad-16/+88
rustdoc: look for comments when scraping attributes/crates from doctests Fixes https://github.com/rust-lang/rust/issues/56727 When scraping out crate-level attributes and `extern crate` statements, we wouldn't look for comments, so any presence of comments would shunt it and everything after it into "everything else". This could cause parsing issues when looking for `fn main` and `extern crate my_crate` later on, which would in turn cause rustdoc to incorrectly wrap a test with `fn main` when it already had one declared. I took the opportunity to clean up the logic a little bit, but it would still benefit from a libsyntax-based loop like the `fn main` detection.
2018-12-16Rollup merge of #56790 - rust-lang:borrowck-niche-discriminants, r=nikomatsakisMazdak Farrokhzad-24/+73
Make RValue::Discriminant a normal Shallow read Enum layout optimizations mean that the discriminant of an enum may not be stored in a tag disjoint from the rest of the fields of the enum. Stop borrow checking as though they are. Run with MIRI to see why this is needed: https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=09a3236685a06b6096e2e2e3968b852c. This issue exists with the lexical borrow checker as well (see #45045) so migrate mode should prevent this from being immediately breaking. r? @nikomatsakis Fixes #56797
2018-12-16Rollup merge of #56789 - alexcrichton:simd_select_bitmask, r=rkruppeMazdak Farrokhzad-5/+24
rustc: Add an unstable `simd_select_bitmask` intrinsic This is going to be required for binding a number of AVX-512 intrinsics in the `stdsimd` repository, and this intrinsic is the same as `simd_select` except that it takes a bitmask as the first argument instead of a SIMD vector. This bitmask is then transmuted into a `<NN x i8>` argument, depending on how many bits it is. cc rust-lang-nursery/stdsimd#310
2018-12-16Rollup merge of #56781 - nikic:llvm-update, r=alexcrichtonMazdak Farrokhzad-1/+1
Update LLVM submodule Fixes #52026. Fixes #56618. r? @alexcrichton
2018-12-16Rollup merge of #56761 - estebank:path-display, r=zackmdavisMazdak Farrokhzad-2/+28
Suggest using `.display()` when trying to print a `Path` Fix #38997.
2018-12-16Rollup merge of #56742 - ljedrz:remove_query_response_box, r=oli-obkMazdak Farrokhzad-26/+25
infer: remove Box from a returned Iterator
2018-12-16Rollup merge of #56706 - oli-obk:const_unsafe_fn, r=CentrilMazdak Farrokhzad-131/+33
Make `const unsafe fn` bodies `unsafe` r? @Centril Updated for tracking issue discussion https://github.com/rust-lang/rust/issues/55607#issuecomment-445882296
2018-12-16Rollup merge of #56672 - ccouzens:master, r=nikicMazdak Farrokhzad-1/+5
Document time of back operations of a Linked List Popping and pushing from the end of a linked list is constant time. This documentation is already there for popping and pushing from the front. @bors: r+ 38fe8d2 rollup
2018-12-16Rollup merge of #56648 - RalfJung:btree, r=sfacklerMazdak Farrokhzad-57/+117
Fix BTreeMap UB BTreeMap currently causes UB by created a shared reference to a too-small allocation. This PR fixes that by introducing a `NodeHeader` type and using that until we really need access to the key/value arrays. Avoiding run-time checks in `into_key_slice` was somewhat tricky, see the comments embedded in the code. I also adjusted `as_leaf_mut` to return a raw pointer, because creating a mutable reference asserts that there are no aliases to the pointee, but that's not always correct: We use `as_leaf_mut` twice to create two mutable slices for keys and values; the second call overlaps with the first slice and hence is not a unique pointer. Fixes https://github.com/rust-lang/rust/issues/54957 Cc @nikomatsakis @Gankro
2018-12-16Rollup merge of #56640 - myfreeweb:patch-1, r=alexcrichtonMazdak Farrokhzad-0/+8
Add FreeBSD unsigned char platforms to std::os::raw Reference: https://www.freebsd.org/cgi/man.cgi?query=arch&apropos=0&sektion=7
2018-12-16Rollup merge of #56439 - JohnGinger:master, r=nikomatsakisMazdak Farrokhzad-4/+19
Clearer error message for dead assign I'm not that this is the right place for this (if it needs an RFC or not). I had the problem where I misunderstood the compiler lint message https://github.com/rust-lang/rust/issues/56436 and other people seem to have had the same problem https://www.reddit.com/r/rust/comments/8cy9p4/value_assigned_to_is_never_read/. I think this new wording might be slightly clearer (and help out beginners like me). I'm very new though, so there might be some nuance I'm missing that would make this more confusing or a bad idea for other reasons. I thought I would create a PR to make it easy to change the code if the consensus was that it would make sense to make a change. If this is the wrong place for this sort of thing I'll happily delete/move it.
2018-12-16Rollup merge of #56343 - yui-knk:remove_mir_stats_mod, r=nikomatsakisMazdak Farrokhzad-257/+0
Remove not used mod `mir_stats` mod has not been used since c1ff10464dc6b685f871d2365e3d8a39de324ba9.
2018-12-16Rollup merge of #53506 - phungleson:fix-from-docs-atomic, r=KodrAusMazdak Farrokhzad-2/+15
Documentation for impl From for AtomicBool and other Atomic types As part of issue #51430 (cc @skade). The impl is very simple, so not sure if we need to go into any details.
2018-12-16Fix js errorsGuillaume Gomez-2/+2
2018-12-15Auto merge of #56600 - ljedrz:fix_edition, r=Mark-Simulacrumbors-97/+99
bootstrap: fix edition A byproduct of work on https://github.com/rust-lang/rust/pull/56595; done with `cargo fix --edition`.
2018-12-16fix trait objects with a Self-having projection vaAriel Ben-Yehuda-3/+103
This follows ALT2 in the issue. Fixes #56288.
2018-12-15Auto merge of #56203 - aheart:master, r=varkorbors-15/+89
Add lint for items deprecated in future Resolves #55892
2018-12-15Corrected expected test err messages.Alexander Regueiro-10/+10
2018-12-15Fixed minor issues raised in review.Alexander Regueiro-11/+11