about summary refs log tree commit diff
path: root/src
AgeCommit message (Collapse)AuthorLines
2019-03-18Auto merge of #58824 - euclio:intra-link-ambiguity, r=petrochenkovbors-153/+296
overhaul intra-doc-link ambiguity warning Fixes #52784. - Makes the warning part of the `intra_doc_link_resolution_failure` lint. - Tightens the span to just the ambiguous link. - Reports ambiguities across all three namespaces. - Uses structured suggestions for disambiguation. - Adds a test for the warnings. r? @QuietMisdreavus
2019-03-17Auto merge of #59250 - bovinebuddha:filter_ui_revision_tests, r=petrochenkovbors-721/+561
Filter ui revision tests Updates UI test output filtering to also filter away test annotations for revisions: Previously filtered: //~ ERROR [XXXX] Now also filters: //[revision]~ ERROR [XXXX] I reckon, if we have the one, we should have the other for consistency, its lack was probably an oversight (the existence of revision testing is not really well documented...)
2019-03-17Auto merge of #58994 - oli-obk:deprecated_derive, r=petrochenkovbors-2/+38
Hide deprecation warnings inside derive expansions Fixes #58822
2019-03-17Auto merge of #59047 - petrochenkov:modnodefid, r=Centrilbors-11/+49
resolve: Account for new importable entities Fixes the ICE encountered in https://github.com/rust-lang/rust/pull/58837 r? @Centril
2019-03-17Removed obsolete .stderr test outputsMathias Blikstad-160/+0
2019-03-17Updated UI test output to remove test annotations for revisionsMathias Blikstad-585/+585
2019-03-17Auto merge of #59178 - oli-obk:lazy_const, r=eddybbors-562/+367
Revert the `LazyConst` PR The introduction of `LazyConst` did not actually achieve the code simplicity improvements that were the main reason it was introduced. Especially in the presence of const generics, the differences between the "levels of evaluatedness" of a constant become less clear. As it can be seen by the changes in this PR, further simplifications were possible by folding `LazyConst` back into `ConstValue`. We have been able to keep all the advantages gained during the `LazyConst` refactoring (like `const_eval` not returning an interned value, thus making all the `match` code simpler and more performant). fixes https://github.com/rust-lang/rust/issues/59209 r? @eddyb @varkor
2019-03-17compiletest: Filter test annotations from UI test output for revision testsMathias Blikstad-1/+1
2019-03-16Don't report deprecation lints in derive expansionsOliver Scherer-2/+38
2019-03-16Fix rebaseVadim Petrochenkov-4/+2
2019-03-16Refactor away `NestedMetaItemKind`Vadim Petrochenkov-145/+126
Remove methods `Attribute::span` and `MetaItem::span` duplicating public fields
2019-03-16Rename `MetaItem::ident` to `MetaItem::path`Vadim Petrochenkov-53/+52
2019-03-16syntax: Introduce `Ident::can_be_raw`Vadim Petrochenkov-36/+33
2019-03-16syntax_ext: Validate `#[proc_macro_derive]` input betterVadim Petrochenkov-11/+33
Tweak some error wording
2019-03-16syntax: Do not accidentally treat multi-segment meta-items as single-segmentVadim Petrochenkov-213/+236
2019-03-16Add tests for malformed input in `#[proc_macro_derive]`Vadim Petrochenkov-84/+118
2019-03-16Revert the `LazyConst` PROliver Scherer-562/+367
2019-03-16Rollup merge of #59231 - matklad:copied, r=Centrilkennytm-7/+2
Stabilize Option::copied closes https://github.com/rust-lang/rust/issues/57126
2019-03-16Rollup merge of #59221 - czipperz:as_ref_documentation, r=Centrilkennytm-4/+4
Option and Result: Add references to documentation of as_ref and as_mut This makes the documentation more consistent with that of `Pin::as_ref` which converts "from `&Pin<Pointer<T>>` to `Pin<&t>`". This generally makes it clearer that the reference is going inside the option.
2019-03-16Rollup merge of #59212 - mati865:musl_toolchain, r=alexcrichtonkennytm-0/+1
Add x86_64 musl host to the manifest @alexcrichton r? Probably too late for https://github.com/rust-lang/rust/pull/59207
2019-03-16Rollup merge of #59208 - kenta7777:reduce-code-repetition, r=oli-obkkennytm-8/+4
Reduce a Code Repetition Related to Bit Operation This PR is related to [#49937](https://github.com/rust-lang/rust/issues/49937). Should I do more commits about [`FIXME(49937)`](https://github.com/rust-lang/rust/search?q=FIXME%2849937%29&unscoped_q=FIXME%2849937%29) in this PR?
2019-03-16Rollup merge of #59206 - sntdevco:master, r=dtolnaykennytm-39/+39
Improved test output
2019-03-16Rollup merge of #59204 - o01eg:diag-rustdoc, r=alexcrichtonkennytm-2/+8
Output diagnostic information for rustdoc Use the information same as rustc.
2019-03-16Rollup merge of #59201 - lambda:remove-repr-simd-isize-usize-restriction, ↵kennytm-12/+34
r=alexcrichton Remove restriction on isize/usize in repr(simd) As discussed in #55078, there's no known reason for this restriction. It's unlikely that repr(simd) will be stabilized in its current form, but might as well remove some restrictions on it. This removes the branch in `is_machine` which returns false for these types. `is_machine` is only used for the repr(simd) type validation check.
2019-03-16Rollup merge of #59185 - lukaslueg:patch-2, r=cramertjkennytm-4/+2
No old chestnuts in iter::repeat docs The current language may be amusing, yet is just imprecise and most especially difficult to understand for someone who speaks English as a foreign language.
2019-03-16Rollup merge of #59180 - taiki-e:try_blocks, r=scottmcmkennytm-9/+7
Use try blocks in rustc_codegen_ssa r? @scottmcm
2019-03-16Rollup merge of #59175 - Zoxc:fix-process-test, r=alexcrichtonkennytm-2/+2
Don't run test launching `echo` since that doesn't exist on Windows
2019-03-16Rollup merge of #59173 - emilio:llvm-suffix, r=Mark-Simulacrumkennytm-1/+27
bootstrap: Default to a sensible llvm-suffix. I used version-channel-sha, hopefully that should work. I checked that bootstrap builds, but I cannot check anything else since the llvm build process is started from cargo, and thus calls clang, and thus I hit the same bug I hope to fix with this change. Hopefully fixes #59034.
2019-03-16Rollup merge of #59169 - tmandry:allow-features-flag, r=cramertjkennytm-4/+98
Add `-Z allow_features=...` flag Adds a compiler option to allow only whitelisted features. For projects on nightly that want to prevent feature-creep (and maybe, someday, move off of nightly). Not being able to enforce this has been a problem on Fuchsia and at other big companies. This doesn't support filtering edition feature flags, but someone is welcome to add that if they need it.
2019-03-16Rollup merge of #59158 - Manishearth:fix-minification, r=GuillaumeGomezkennytm-5/+1
Revert "Don't generate minification variable if minification disabled" Reverts #58643 Fixes #59157 https://github.com/rust-lang/rust/pull/58643 made us stop generating minification variables when minification is disabled, however they may still be needed for parent crates that were generated with minification (this will always be the case for libstd and libcore) r? @QuietMisdreavus @GuillaumeGomez
2019-03-16Rollup merge of #59156 - davidtwco:issue-55809, r=nikomatsakiskennytm-0/+30
[wg-async-await] Add regression test for #55809. Fixes #55809. This PR adds a regression test for #55809 which checks that a overflow does not occur when evaluating a requirement for async functions and `&mut` arguments in some specific circumstances.
2019-03-16Rollup merge of #59152 - smmalis37:range_contains, r=SimonSapinkennytm-34/+20
Stabilize Range*::contains. Closes https://github.com/rust-lang/rust/issues/32311. There's also a bit of rustfmt on range.rs thrown in for good measure (I forgot to turn off format-on-save in VSCode).
2019-03-16Rollup merge of #59147 - jethrogb:jb/time-tests, r=sfacklerkennytm-9/+2
Make std time tests more robust for platform differences Previously, `time::tests::since_epoch` and `time::tests::system_time_math` would fail if the platform represents a SystemTime as unix epoch + `u64` nanoseconds. r? @sfackler
2019-03-16Rollup merge of #59146 - estebank:suggest-return-lt, r=varkorkennytm-5/+76
Suggest return lifetime when there's only one named lifetime Fix #29094.
2019-03-16Rollup merge of #59139 - oli-obk:unions_are_a_good_thing, r=RalfJungkennytm-13/+24
Unregress using scalar unions in constants. fixes https://github.com/rust-lang/rust/issues/59126 r? @RalfJung I also made a bunch of these invariants panic instead of report an error.
2019-03-16Rollup merge of #59118 - seanmonstar:alias-where-self-ice, r=alexregkennytm-2/+29
rustc: fix ICE when trait alias has bare Self Fixes https://github.com/rust-lang/rust/issues/59029
2019-03-16Rollup merge of #59102 - newpavlov:duration_float, r=alexcrichtonkennytm-11/+129
Consistent naming for duration_float methods and additional f32 methods `duration_float` tracking issue: #54361 New list of methods: - `as_secs_f64(&self) -> f64` - `as_secs_f32(&self) -> f32` - `from_secs_f64(secs: f64) -> Duration` - `from_secs_f32(secs: f32) -> Duration` - `mul_f64(self, rhs: f64) -> Duration` - `mul_f32(self, rhs: f32) -> Duration` - `div_f64(self, rhs: f64) -> Duration` - `div_f32(self, rhs: f64) -> Duration` - `div_duration_f64(self, rhs: Duration) -> f64` - `div_duration_f32(self, rhs: Duration) -> f32` With [`num_traits::Float`](https://docs.rs/num-traits/0.2.6/num_traits/float/trait.Float.html) we could've reduced number of methods by factor of two, but unfortunately it's not part of `std`.
2019-03-16Rollup merge of #59082 - alexreg:cosmetic-2-doc-comments, r=Centrilkennytm-36/+39
A few improvements to comments in user-facing crates Not too many this time, and all concern comments (almost all doc comments) in user-facing crates (libstd, libcore, liballoc). r? @steveklabnik
2019-03-16Rollup merge of #59079 - euclio:macro-semi, r=estebankkennytm-24/+85
add suggestions to invalid macro item error r? @estebank
2019-03-16Rollup merge of #59072 - RalfJung:miri-alloc-tests, r=kennytmkennytm-91/+3
we can now skip should_panic tests with the libtest harness
2019-03-16Rollup merge of #59037 - Manishearth:intra-doc-false, r=QuietMisdreavuskennytm-0/+6
Avoid some common false positives in intra doc link checking The empty string case is never going to be a link. The numeric case may be a link, but if it were it would have resolved locally. It's more likely the makeshift markdown footnote notation (`[0]`, etc) r? @QuietMisdreavus
2019-03-16Rollup merge of #59036 - dlrobertson:fix_59021, r=estebankkennytm-1/+21
Fix ICE in MIR pretty printing A `Def::Variant` should be considered as a function in mir pretty printing. Each variant has a constructor that we must print. Given the following enum definition: ```rust pub enum TestMe { X(usize), } ``` We will need to generate a constructor for the variant `X` with a signature that looks something like the following: ``` fn TestMe::X(_1: usize) -> TestMe; ``` Fixes: #59021
2019-03-16Rollup merge of #59025 - aoikonomopoulos:issue-57924, r=varkorkennytm-59/+69
Fix generic argument lookup for Self Rewrite the SelfCtor early and use the replacement Def when calculating the path_segs. Note that this also changes which def is seen by the code that computes user_self_ty and is_alias_variant_ctor; I don't see a immediate issue with that, but I'm not 100% clear on the implications. Fixes #57924 r? @eddyb
2019-03-16Rollup merge of #59009 - sfackler:fix-sgx-vectors, r=alexcrichtonkennytm-32/+34
Fix SGX implementations of read/write_vectored.
2019-03-16resolve: Account for new importable entitiesVadim Petrochenkov-11/+49
2019-03-16Stabilize Option::copiedAleksey Kladov-7/+2
closes https://github.com/rust-lang/rust/issues/57126
2019-03-16Rollup merge of #58976 - phil-opp:patch-2, r=alexcrichtonkennytm-1/+1
Default to integrated `rust-lld` linker for UEFI targets The `x86_64-unknown-uefi` target was added in https://github.com/rust-lang/rust/pull/56769 with the linker defaulting to `lld-link`. This means that a system linker with that name is required for linking. I think defaulting to `rust-lld`, which is shipped with Rust, is a better default for the following reasons: - Most systems don't have `lld-link` installed, so it forces users to install it first. - The naming of LLD executables is not standarized, so users often need to create an additional symlink before things work. For example, on Ubuntu `apt install lld` leads to an executable named `lld-link-6.0`. - We already default to `rust-lld` for [many targets](https://github.com/rust-lang/rust/search?utf8=%E2%9C%93&q=rust-lld&type=), including embedded and WASM targets, so doing the same for UEFI crates seems consistent to me. (It even seems like `x86_64-unknown-uefi` is the [only target](https://github.com/rust-lang/rust/search?q=lld-link&unscoped_q=lld-link) that uses `lld-link`.) cc @dvdhrm who added the target and @kkk669 who [proposed to use `rust-lld`](https://github.com/rust-lang/rust/pull/56769#issuecomment-461119648).
2019-03-16Rollup merge of #58949 - jethrogb:jb/sgx-thread-id, r=joshtriplettkennytm-0/+6
SGX target: Expose thread id function in os module In order to call `std::os::fortanix_sgx::usercalls::send`, you need the thread id. This exposes it through another function in `std::os::fortanix_sgx`. I looked at how other platforms do this. On Windows and `cfg(unix)` you can get the OS handle from a `thread::JoinHandle`, but that's not sufficient, I need it for a `thread::Thread`. In the future, this functionality could be added to `thread::Thread` and this platform can follow suit. r? @joshtriplett
2019-03-16Rollup merge of #58941 - wzssyqa:master, r=alexcrichtonkennytm-0/+115
MIPS: add r6 support MIPS r6 is quite different with the previous version. It use some new target triples: mipsisa32r6-unknown-linux-gnu mipsisa32r6el-unknown-linux-gnu mipsisa64r6-unknown-linux-gnuabi64 mipsisa64r6el-unknown-linux-gnuabi64 This patch has been tested with Debian Port for mips64r6el, and the support of these triples also is included in llvm: https://reviews.llvm.org/rGe58c45a695f39004710b6ce940d489fee800dbd3
2019-03-16Rollup merge of #58938 - dlrobertson:fix_58280, r=joshtriplettkennytm-7/+7
core: ensure VaList passes improper_ctypes lint Ensure the `core::ffi::VaList` structure passes the `improper_ctypes` lint. Fixes: #58280