about summary refs log tree commit diff
path: root/src
AgeCommit message (Collapse)AuthorLines
2019-10-13Implement Error::source on IntoStringErrorLinus Färnstrand-1/+1
IntoStringError only implemented Error::cause, which is deprecated. This implemements Error::source instead. Error::cause will still work as before, thanks to the default implementation.
2019-10-13Auto merge of #65182 - anp:reify-shim, r=eddybbors-10/+86
Add `Instance::resolve_for_fn_ptr` (RFC 2091 #2/N) Supercedes: https://github.com/rust-lang/rust/pull/65082 Depends on: https://github.com/rust-lang/rust/pull/65037 Tracking issue: https://github.com/rust-lang/rust/issues/47809 [RFC text](https://github.com/rust-lang/rfcs/blob/master/text/2091-inline-semantic.md) steps taken: * [x] add a `ReifyShim` that is similar to `VirtualShim` in behavior (see #54183) * [x] add `ty::Instance::resolve_for_fn_ptr` (leave `ty::Instance::resolve_vtable` alone), migrate appropriate callers * [x] `resolve_for_fn_ptr` returns the shim if calling a `#[track_caller]` function
2019-10-13tokenstream: don't depend on pprustMazdak Farrokhzad-11/+7
2019-10-13ast: remove implicit pprust dependency via Display.Mazdak Farrokhzad-47/+88
Instead just use `pprust::path_to_string(..)` where needed. This has two benefits: a) The AST definition is now independent of printing it. (Therefore we get closer to extracting a data-crate.) b) Debugging should be easier as program flow is clearer.
2019-10-13ast: don't use pprust in DebugMazdak Farrokhzad-41/+6
2019-10-13mbe: reduce panictry! uses.Mazdak Farrokhzad-25/+27
2019-10-13simplify integer_litMazdak Farrokhzad-9/+7
2019-10-13Apply suggestionYuki Okushi-5/+5
2019-10-13simplify maybe_stage_featuresMazdak Farrokhzad-14/+8
2019-10-13syntax: simplify maybe_annotate_with_ascriptionMazdak Farrokhzad-9/+11
2019-10-13Auto merge of #65099 - pnkfelix:issue-63154-needed-more-normalize, r=nagisabors-0/+37
MIR typeck needed more normalize Add some missing normalization calls (@nagisa [was right](https://github.com/rust-lang/rust/issues/63154#issuecomment-517305589)). Fix #63154
2019-10-12Auto merge of #64873 - popzxc:prettify-test-time, r=wesleywiserbors-117/+718
Enhance report-time option ## Short overview This PR is a follow-up to a previously closed #64714 PR. ## Changes introduced by this PR * `libtest` now retrieves the type of the test within `TestDesc` (available types are: `UnitTest`, `IntegrationTest`, `DocTest`, `Unknown`). * `--report-time` subcommand of the `libtest` now supports colored output (disabled by default). * Colorized output depends on the threshold values. Default values (proposed by @wesleywiser): - For unit-tests: 50ms warn/100ms critical, - For integration-tests: 500ms warn/1000ms critical, - For doctests: same as for integration tests, - For unknown tests: `TEST_WARN_TIMEOUT_S` warn/ `TEST_WARN_TIMEOUT_S * 2` critical (it will only applied single-threaded mode, because otherwise test will be interrupted after reaching `TEST_WARN_TIMEOUT_S`). - These values can be overrided by setting environment variables (since those thresholds are somewhat constant for every project, it's more flexible to use environment variables than command line arguments). * New optional flag `--ensure-test-time` for `libtest`. With this flag applied, exectuion time limit excesss will cause test failure. ## What have not been done There was a comment that it would be nice to have an entry in the Cargo book about it. However, changes introduced by this PR (and #64663 in which `report-time` flag was added) aren't related directly to `cargo`, it's more about `libtest` itself. I'm considering that [The Unstable Book](https://doc.rust-lang.org/unstable-book/) is more appropriate place, but not sure if I'm right (and if so, how exactly it should be described). As one possible option, this PR may be merged without denoting it in the documentation, and in the next PR adding support of this feature to the `cargo` itself, I'll add a note in the Cargo book. ## Scope of this PR Logical scope of this PR is `libtest` only. However, to get test types, I had to modify also `libsyntax_ext` and `librustdoc` for them to provide information about test type. ## Rationale Rationale for colored output was submitted in #64714 Providing the information about kind of test was also proposed in #64714, and as an additional benefit this information may be useful for the tools using `libtest` (e.g. `cargo`). Adding flag to treat time limits excess seems logical to me, so projects that do care about test execution time won't have to invent a wheel. ## Backward compatibility All the changes are completely backward compatible. ## Demo ![rustc_enhanced_time](https://user-images.githubusercontent.com/12111581/65818381-c04f6800-e219-11e9-9875-322463abe24f.gif) r? @wesleywiser
2019-10-12Remove the fn pointer #[track_caller] test.Adam Perry-37/+0
The ICE stderr isn't normalizing correctly on some builders.
2019-10-12make tests more robustRalf Jung-2/+2
2019-10-12test unwind(abort) with Rust ABIRalf Jung-3/+27
2019-10-12fix #[unwind(abort)] for Rust ABIsRalf Jung-8/+5
2019-10-12some typographyRalf Jung-4/+4
2019-10-12also (properly) test nounwind on function definitionsRalf Jung-6/+19
2019-10-12update test for nounwind on FFI importsRalf Jung-19/+41
2019-10-12Auto merge of #65328 - lzutao:bump-rls-rustfmt, r=Xanewokbors-18/+18
Update rls and rustfmt cc @Xanewok Fixes #65084 Fixes #65085 Suppressed #65311
2019-10-12fix link targetsRalf Jung-12/+12
2019-10-12remove old branch of unwind logicRalf Jung-21/+1
2019-10-12Revert "Auto merge of #64823 - cuviper:min-std, r=Mark-Simulacrum"Mark Rousskov-127/+33
This reverts commit 000d90b11f7be70ffb7812680f7abc6deb52ec88, reversing changes made to 898f36c83cc28d7921a1d7b3605323dc5cfcf533.
2019-10-12it's C++20Ralf Jung-7/+7
2019-10-12compress the function, remove the assert check.Guanqun Lu-11/+2
2019-10-12do not reference LLVM for our concurrency memory modelRalf Jung-25/+27
2019-10-12Fix typoBO41-1/+1
2019-10-12Improve docs on some char boolean methodsBO41-63/+109
2019-10-12Auto merge of #65190 - GuillaumeGomez:dont-pass-doctest-feature-by-default, ↵bors-4/+23
r=Mark-Simulacrum Don't pass doctest feature by default As asked in https://github.com/rust-lang/rust/pull/63803#issuecomment-539064434. r? @QuietMisdreavus
2019-10-12Update RLS and RustfmtIgor Matuszewski-18/+18
This also bumps rustc-ap-* crates and fixes the relevant toolstate.
2019-10-12replace the hand-written binary search with the library oneGuanqun Lu-13/+5
2019-10-12Auto merge of #65322 - tmandry:rollup-frr651r, r=tmandrybors-280/+730
Rollup of 15 pull requests Successful merges: - #64337 (libstd: Fix typos in doc) - #64986 (Function pointers as const generic arguments) - #65048 (Added doc about behavior of extend on HashMap) - #65191 (Add some regression tests) - #65200 (Add ?Sized bound to a supertrait listing in E0038 error documentation) - #65205 (Add long error explanation for E0568) - #65220 (Update LLVM for Emscripten exception handling support) - #65263 (Deduplicate is_{freeze,copy,sized}_raw) - #65266 (Mark Path::join as must_use) - #65276 (Don't cc rust-lang/compiler for toolstate changes) - #65277 (Query generator kind for error reporting) - #65283 (stability: Do not use `buffer_lint` after lowering to HIR) - #65289 (Fix suggested bound addition diagnostic) - #65310 (deriving: avoid dummy Span on an artificial `type_ident` path) - #65321 (Remove painful test that is not pulling its weight) Failed merges: r? @ghost
2019-10-12Auto merge of #65020 - ↵bors-13/+187
pnkfelix:targetted-fix-for-always-marking-rust-abi-unwind-issue-64655, r=alexcrichton Always mark rust and rust-call abi's as unwind PR #63909 identified a bug that had been injected by PR #55982. As discussed on https://github.com/rust-lang/rust/issues/64655#issuecomment-537517428 , we started marking extern items as nounwind, *even* extern items that said they were using "Rust" or "rust-call" ABI. This is a more targeted variant of PR #63909 that fixes the above bug. Fix #64655 ---- I personally suspect we will want PR #63909 to land in the long-term But: * it is not certain that PR #63909 *will* land, * more importantly, PR #63909 almost certainly will not be backported to beta/stable. The identified bug was more severe than I think anyone realized (apart from perhaps @gnzlbg, as noted [here](https://github.com/rust-lang/rust/pull/63909#issuecomment-524818838)). Thus, I was motivated to write this PR, which fixes *just* the issue with extern rust/rust-call functions, and deliberately avoids injecting further deviation from current behavior (you can see further notes on this in the comments of the code added here).
2019-10-11Rollup merge of #65321 - Mark-Simulacrum:remove-linker-no-utf8-test, ↵Tyler Mandry-39/+0
r=nikomatsakis Remove painful test that is not pulling its weight Research suggests that we are not properly testing this case anyway, and even if we were, it is unlikely that we will regress here -- or, perhaps more accurately, if we do, I am uncertain that we care too much. It definitely seems like an edge case, and one that is particularly unlikely to occur as time goes on. Fixes https://github.com/rust-lang/rust/issues/63520
2019-10-11Rollup merge of #65310 - da-x:issue-56195, r=petrochenkovTyler Mandry-2/+8
deriving: avoid dummy Span on an artificial `type_ident` path The dummy Span pointed to the beginning of the source file instead to where the `#[derive]` is located. Later, it tripped the `in_derive_expansion(span)` check at `src/librustc/middle/stability.rs`, causing a span-less deprecation warning to be emitted. Fixes #56195, Fixes #55417.
2019-10-11Rollup merge of #65289 - varkor:issue-65284, r=estebankTyler Mandry-21/+41
Fix suggested bound addition diagnostic Fixes #65284.
2019-10-11Rollup merge of #65283 - petrochenkov:softstab2, r=estebankTyler Mandry-6/+32
stability: Do not use `buffer_lint` after lowering to HIR Fixes https://github.com/rust-lang/rust/issues/65253
2019-10-11Rollup merge of #65277 - csmoe:fix-move, r=estebankTyler Mandry-26/+55
Query generator kind for error reporting Fixes https://github.com/rust-lang/rust/pull/65166#discussion_r333114545 r? @estebank cc @cramertj
2019-10-11Rollup merge of #65276 - varkor:toolstate-no-ping, r=Mark-SimulacrumTyler Mandry-1/+1
Don't cc rust-lang/compiler for toolstate changes Fixes https://github.com/rust-lang/rust/issues/65238.
2019-10-11Rollup merge of #65266 - rust-lang:must-use-join, r=dtolnayTyler Mandry-0/+1
Mark Path::join as must_use I've accidentally did `mut_path_buf.jon(a_path);`, expecting this to be an in-place modification. Seems like we can easily warn in such cases?
2019-10-11Rollup merge of #65263 - mbStavola:dedup-raw-item-fns, r=CentrilTyler Mandry-21/+12
Deduplicate is_{freeze,copy,sized}_raw Fixes #65259 Deduplicates `is_{freeze,copy,sized}_raw` by delegating to a new method which takes in a `LangItem`.
2019-10-11Rollup merge of #65220 - tlively:update-llvm-for-emscripten-exceptions, r=nikicTyler Mandry-0/+0
Update LLVM for Emscripten exception handling support Updates LLVM to pick up the cherry-picked support for correctly handling exception handling with aggregates passed by value. This will be necessary to continue to support Emscripten's exception handling once we switch using Emscripten's LLVM backend. See #63649.
2019-10-11Rollup merge of #65205 - GuillaumeGomez:long-err-explanation-E0568, r=estebankTyler Mandry-3/+34
Add long error explanation for E0568 Part of #61137.
2019-10-11Rollup merge of #65200 - xfix:patch-20, r=GuillaumeGomezTyler Mandry-5/+9
Add ?Sized bound to a supertrait listing in E0038 error documentation This example failed to compile because of implicit `Sized` bound for `A` parameter that wasn't required by `Trait`.
2019-10-11Rollup merge of #65191 - varkor:const-generics-test-cases, r=nikomatsakisTyler Mandry-0/+142
Add some regression tests - Add a test for #62187. - Clean up the directory structure in `src/test/ui/const-generics` - Closes #64792. - Closes #57399. - Closes #57271.
2019-10-11Rollup merge of #65048 - Kixunil:patch-1, r=KodrAusTyler Mandry-0/+2
Added doc about behavior of extend on HashMap It was unclear what the implementation does when it encounters existing keys. This change makes it clear by documenting the trait impl.
2019-10-11Rollup merge of #64986 - skinny121:fn-ptr-const-generics, r=varkorTyler Mandry-152/+389
Function pointers as const generic arguments Makes function pointers as const generic arguments usable. Fixes #62395 r? @varkor
2019-10-11Rollup merge of #64337 - rick68:patch-17, r=Dylan-DPCTyler Mandry-4/+4
libstd: Fix typos in doc
2019-10-11Remove painful test that is not pulling its weightMark Rousskov-39/+0
Research suggests that we are not properly testing this case anyway, and even if we were, it is unlikely that we will regress here -- or, perhaps more accurately, if we do, I am uncertain that we care too much. It definitely seems like an edge case, and one that is particularly unlikely to occur as time goes on.
2019-10-11Add regression test for CONST_ERR lints in extern macrosmemoryruins-0/+38