about summary refs log tree commit diff
path: root/src
AgeCommit message (Collapse)AuthorLines
2019-03-09Revert "Revert "Add clamp functions""Dirk Leifeld-0/+66
2019-03-09Rollup merge of #59045 - topecongiro:expose-new_sub_parser_from_file, r=CentrilMazdak Farrokhzad-1/+1
Expose new_sub_parser_from_file This function is useful when external tools like rustfmt want to parse internal files without parsing a whole crate. cc https://github.com/rust-lang/rustfmt/issues/3427.
2019-03-09Rollup merge of #59018 - alexcrichton:omg, r=sfacklerMazdak Farrokhzad-15/+0
std: Delete a by-definition spuriously failing test This commit deletes the `connect_timeout_unbound` test from the standard library which, unfortunately, is by definition eventually going to be a spuriously failing test. There's no way to reserve a port as unbound so we can rely on ecosystem testing for this feature for now. Closes #52590
2019-03-09Rollup merge of #58990 - oli-obk:miri_manifest, r=alexcrichtonMazdak Farrokhzad-1/+3
Actually publish miri in the manifest
2019-03-09Rollup merge of #58924 - cuviper:more-as_slice, r=dtolnayMazdak Farrokhzad-0/+47
Add as_slice() to slice::IterMut and vec::Drain In bluss/indexmap#88, we found that there was no easy way to implement `Debug` for our `IterMut` and `Drain` iterators. Those are built on `slice::IterMut` and `vec::Drain`, which implement `Debug` themselves, but have no other way to access their data. With a new `as_slice()` method, we can read the data and customize its presentation.
2019-03-09Rollup merge of #58762 - petrochenkov:unwind, r=Mark-SimulacrumMazdak Farrokhzad-34/+74
Mention `unwind(aborts)` in diagnostics for `#[unwind]` Simplify input validation for `#[unwind]`, add tests cc https://github.com/rust-lang/rust/issues/58760 r? @Mark-Simulacrum
2019-03-09Rollup merge of #58750 - TimDiekmann:master, r=oli-obkMazdak Farrokhzad-3/+136
Make `Unique::as_ptr`, `NonNull::dangling` and `NonNull::cast` const
2019-03-09Rollup merge of #58679 - Zoxc:passes-refactor, r=michaelwoeristerMazdak Farrokhzad-197/+305
Refactor passes and pass execution to be more parallel For `syntex_syntax` (with 16 threads and 8 cores): - Cuts `misc checking 1` from `0.096s` to `0.08325s`. - Cuts `misc checking 2` from `0.3575s` to `0.2545s`. - Cuts `misc checking 3` from `0.34625s` to `0.21375s`. - Cuts `wf checking` from `0.3085s` to `0.05025s`. Reduces overall execution time for `syntex_syntax` (with 8 threads and cores) from `4.92s` to `4.34s`. Subsumes https://github.com/rust-lang/rust/pull/58494 Blocked on https://github.com/rust-lang/rust/pull/58250 r? @michaelwoerister
2019-03-09Rollup merge of #58676 - euclio:bootstrap-python, r=alexcrichtonMazdak Farrokhzad-8/+10
look for python2 symlinks before bootstrap python Before this commit, if you're running x.py directly on a system where `python` is symlinked to Python 3, then the `python` config option will default to a Python 3 interpreter. This causes debuginfo tests to fail with an opaque error message, since they have a hard requirement on Python 2. This commit modifies the Python probe behavior to look for python2.7 and python2 *before* using the interpreter used to execute `x.py`.
2019-03-09Rollup merge of #58670 - saleemjaffer:refactor_typecast_check_kinds, r=oli-obkMazdak Farrokhzad-47/+32
fixes rust-lang#52482
2019-03-09Rollup merge of #58660 - RalfJung:maybe-uninit, r=CentrilMazdak Farrokhzad-30/+229
MaybeUninit: add read_initialized, add examples This adds a new `read_initialized` method, similar to suggestions by @Amanieu and @shepmaster. I also added examples to this and other methods.
2019-03-09Rollup merge of #58629 - euclio:debug-empty-str, r=alexcrichtonMazdak Farrokhzad-0/+37
rust-lldb: fix crash when printing empty string Fixes #52185. ~Re-enables the pretty-std debuginfo test and tweaks the test as necessary to get it to pass again. This reveals that lldb's formatting of enums is broken (#58492). I also removed the emoji from the test because I couldn't get the docker image's gdb to print the emoji, just octal escapes (https://github.com/rust-lang/rust/pull/53154/files#r208263904).~
2019-03-09Rollup merge of #58626 - QuietMisdreavus:doc-coverage, r=GuillaumeGomezMazdak Farrokhzad-10/+487
rustdoc: add option to calculate "documentation coverage" This PR adds a new flag to rustdoc, `--show-coverage`. When passed, this flag will make rustdoc count the number of items in a crate with documentation instead of generating docs. This count will be output as a table of each file in the crate, like this (when run on my crate `egg-mode`): ``` +-------------------------------------+------------+------------+------------+ | File | Documented | Total | Percentage | +-------------------------------------+------------+------------+------------+ | src/auth.rs | 16 | 16 | 100.0% | | src/common/mod.rs | 1 | 1 | 100.0% | | src/common/response.rs | 9 | 9 | 100.0% | | src/cursor.rs | 24 | 24 | 100.0% | | src/direct/fun.rs | 6 | 6 | 100.0% | | src/direct/mod.rs | 41 | 41 | 100.0% | | src/entities.rs | 50 | 50 | 100.0% | | src/error.rs | 27 | 27 | 100.0% | | src/lib.rs | 1 | 1 | 100.0% | | src/list/fun.rs | 19 | 19 | 100.0% | | src/list/mod.rs | 22 | 22 | 100.0% | | src/media/mod.rs | 27 | 27 | 100.0% | | src/place/fun.rs | 8 | 8 | 100.0% | | src/place/mod.rs | 35 | 35 | 100.0% | | src/search.rs | 26 | 26 | 100.0% | | src/service.rs | 74 | 74 | 100.0% | | src/stream/mod.rs | 49 | 49 | 100.0% | | src/tweet/fun.rs | 15 | 15 | 100.0% | | src/tweet/mod.rs | 73 | 73 | 100.0% | | src/user/fun.rs | 24 | 24 | 100.0% | | src/user/mod.rs | 87 | 87 | 100.0% | +-------------------------------------+------------+------------+------------+ | Total | 634 | 634 | 100.0% | +-------------------------------------+------------+------------+------------+ ``` Trait implementations are not counted because by default they "inherit" the docs from the trait, even though an impl can override those docs. Similarly, inherent impl blocks are not counted at all, because for the majority of cases such docs are not useful. (The usual pattern for inherent impl blocks is to throw all the methods on a type into a single impl block. Any docs you would put on that block would be better served on the type itself.) In addition, `--show-coverage` can be combined with `--document-private-items` to get the coverage counts for everything in the crate, not just public items. The coverage calculation is implemented as a late pass and two new sets of passes which strip out most of the work that rustdoc otherwise does when generating docs. The is because after the new pass is executed, rustdoc immediately closes instead of going on to generate documentation. Many examples of coverage calculations have been included as `rustdoc-ui` tests. r? @rust-lang/rustdoc
2019-03-09Rollup merge of #58518 - oli-obk:unreachable_result_errors, r=RalfJungMazdak Farrokhzad-44/+30
Use early unwraps instead of bubbling up errors just to unwrap in the end r? @RalfJung
2019-03-09use structured suggestions for E0432Andy Russell-152/+310
2019-03-09Expose new_sub_parser_from_filetopecongiro-1/+1
This function is useful when external tools like rustfmt want to parse internal files without parsing a whole crate.
2019-03-09Fix fallout from #57667ishitatsuyuki-33/+6
2019-03-09Auto merge of #57882 - euclio:unused-doc-attributes, r=estebankbors-163/+342
overhaul unused doc comments lint This PR contains a number of improvements to the `unused_doc_comments` lint. - Extends the span to cover the entire comment when using sugared doc comments. - Triggers the lint for all unused doc comments on a node, instead of just the first one. - Triggers the lint on macro expansions, and provides a help note explaining that doc comments must be expanded by the macro. - Adds a label pointing at the node that cannot be documented. Furthermore, this PR fixes any instances in rustc where a macro expansion was erroneously documented.
2019-03-09fixes rust-lang#56766Saleem Jaffer-0/+16
2019-03-09Track embedded-book in the toolstatekennytm-3/+6
2019-03-09Auto merge of #59012 - pietroalbini:rollup, r=pietroalbinibors-84/+563
Rollup of 24 pull requests Successful merges: - #58080 (Add FreeBSD armv6 and armv7 targets) - #58204 (On return type `impl Trait` for block with no expr point at last semi) - #58269 (Add librustc and libsyntax to rust-src distribution.) - #58369 (Make the Entry API of HashMap<K, V> Sync and Send) - #58861 (Expand where negative supertrait specific error is shown) - #58877 (Suggest removal of `&` when borrowing macro and appropriate) - #58883 (Suggest appropriate code for unused field when destructuring pattern) - #58891 (Remove stray ` in the docs for the FromIterator implementation for Option) - #58893 (race condition in thread local storage example) - #58906 (Monomorphize generator field types for debuginfo) - #58911 (Regression test for #58435.) - #58912 (Regression test for #58813) - #58916 (Fix release note problems noticed after merging.) - #58918 (Regression test added for an async ICE.) - #58921 (Add an explicit test for issue #50582) - #58926 (Make the lifetime parameters of tcx consistent.) - #58931 (Elide invalid method receiver error when it contains TyErr) - #58940 (Remove JSBackend from config.toml) - #58950 (Add self to mailmap) - #58961 (On incorrect cfg literal/identifier, point at the right span) - #58963 (libstd: implement Error::source for io::Error) - #58970 (delay_span_bug in wfcheck's ty.lift_to_tcx unwrap) - #58984 (Teach `-Z treat-err-as-bug` to take a number of errors to emit) - #59007 (Add a test for invalid const arguments) Failed merges: - #58959 (Add release notes for PR #56243) r? @ghost
2019-03-08When encountetring `||{}()`, suggest the likely intended `(||{})()`Esteban Küber-1/+53
2019-03-09Auto merge of #58920 - ehuss:update-cargo-rls, r=ehussbors-0/+0
Update cargo, rls, books ## cargo 10 commits in 5c6aa46e6f28661270979696e7b4c2f0dff8628f..95b45eca19ac785263fed98ecefe540bb47337ac 2019-02-22 19:32:35 +0000 to 2019-03-06 19:24:30 +0000 - Relax some rustdoc tests. (rust-lang/cargo#6721) - Include build script execution in the fingerprint. (rust-lang/cargo#6720) - part of the infrastructure for public & private dependencies in the resolver (rust-lang/cargo#6653) - Bump to 0.36.0 (rust-lang/cargo#6718) - Some test/bench-related tweaks (rust-lang/cargo#6707) - Fix links to the permanent home of the edition guide. (rust-lang/cargo#6703) - HTTPS all the things (rust-lang/cargo#6614) - Cargo test quicker by not building untested examples when filtered (rust-lang/cargo#6683) - Link from ARCHITECTURE.md to docs.rs and github (rust-lang/cargo#6695) - Update how to install rustfmt (rust-lang/cargo#6696) ## rls 9 commits in 0d6f53e1a4adbaf7d83cdc0cb54720203fcb522e..6a1b5a9cfda2ae19372e0613e76ebefba36edcf5 2019-02-14 07:52:15 +0000 to 2019-03-04 20:24:45 +0000 - Update cargo and clippy. (rust-lang-nursery/rls#1388) - catch up rust-lang/rust PR#58321 (rust-lang-nursery/rls#1384) - Apply Clippy fixes (rust-lang-nursery/rls#1327) - Various cosmetic improvements (rust-lang-nursery/rls#1326) - Make test `RlsHandle` transport-agnostic (rust-lang-nursery/rls#1317) - Translate remaining tests (rust-lang-nursery/rls#1320) - Remove unnecessary #![feature]s (rust-lang-nursery/rls#1323) - Update Clippy (rust-lang-nursery/rls#1319) - Update Clippy (rust-lang-nursery/rls#1315) cc @xanewok ## Books See #58936 for details.
2019-03-08Parse lifetimes that start with a number and give specific errorEsteban Küber-6/+50
2019-03-08Auto merge of #58985 - dlrobertson:fix_58980, r=alexregbors-9/+27
Fix segfaults in release build C-variadic fns `va_start` and `va_end` must be called to initialize/cleanup the "spoofed" `VaList` in a Rust defined C-variadic function even if the `VaList` is not used. r? @alexreg Fixes: #58980
2019-03-08Update booksEric Huss-0/+0
2019-03-08Update cargo, rlsEric Huss-0/+0
2019-03-08Fix moving text in search tabs headersGuillaume Gomez-1/+1
2019-03-08expand unused doc comment diagnosticAndy Russell-170/+306
Report the diagnostic on macro expansions, and add a label indicating why the comment is unused.
2019-03-08improve unused doc comment diagnostic reportingAndy Russell-15/+58
Report all unused attributes on a given doc comment instead of just the first one, and extend the span of sugared doc comments to encompass the whole comment.
2019-03-08std: Delete a by-definition spuriously failing testAlex Crichton-15/+0
This commit deletes the `connect_timeout_unbound` test from the standard library which, unfortunately, is by definition eventually going to be a spuriously failing test. There's no way to reserve a port as unbound so we can rely on ecosystem testing for this feature for now. Closes #52590
2019-03-08Unit (and regression) tests for warning cycle code.Felix S. Klock II-59/+140
2019-03-08Temporarily emulate the (accidentally) omitted recursion during impl Trait ↵Felix S. Klock II-15/+84
check. Note that the two previous visitors were omitting slightly different recursive calls, so I need two flags to properly emulate them.
2019-03-08Auto merge of #58915 - ljedrz:deprecate_nodeid_methods, r=Zoxcbors-495/+442
HirIdification: almost there The next iteration of HirIdification (#57578). Replaces a bunch of `NodeId` method calls (mostly `as_local_node_id`) with `HirId` ones. Removes `NodeId` from: - [x] `PathSegment` - [x] `PatKind` - [x] `Destination` (replaces it with `HirId`) In addition this PR also removes `Visitor::visit_def_mention`, which doesn't seem to be doing anything.
2019-03-08update clippyljedrz-8/+5
2019-03-08Fix documentation of from_ne_bytes and from_le_bytesNagy Tibor-8/+8
2019-03-08Rollup merge of #59007 - varkor:invalid-const-arg-test, r=petrochenkovPietro Albini-0/+12
Add a test for invalid const arguments Closes https://github.com/rust-lang/rust/issues/58811.
2019-03-08Rollup merge of #58984 - estebank:multi-treat-err-as-bug, r=oli-obkPietro Albini-27/+56
Teach `-Z treat-err-as-bug` to take a number of errors to emit `-Z treat-err-as-bug` will cause `rustc` to panic after the first error is reported, like previously. `-Z treat-err-as-bug=2` will cause `rustc` to panic after 2 errors have been reported. Fix #58983.
2019-03-08Rollup merge of #58970 - pnkfelix:issue-58158-size-of-assoc-type-ice, ↵Pietro Albini-4/+47
r=petrochenkov delay_span_bug in wfcheck's ty.lift_to_tcx unwrap Fix #58158
2019-03-08Rollup merge of #58963 - seanmonstar:patch-3, r=cramertjPietro Albini-0/+8
libstd: implement Error::source for io::Error
2019-03-08Rollup merge of #58961 - estebank:issue-58462, r=varkorPietro Albini-6/+6
On incorrect cfg literal/identifier, point at the right span CC #58462
2019-03-08Rollup merge of #58931 - estebank:elide-receiver-tyerr, r=varkorPietro Albini-1/+33
Elide invalid method receiver error when it contains TyErr Fix #58712.
2019-03-08Rollup merge of #58926 - gabi-250:tcx-lifetimes, r=petrochenkovPietro Albini-4/+4
Make the lifetime parameters of tcx consistent. I have implemented `codegen_allocator` for my backend, but I've had to make a small change to its signature in `ExtraBackendMethods`. I wonder if this change is justified, or if it is too specific to my use case to be useful to anyone else. `write_metadata` and `codegen_allocator` are both called from `codegen_crate` (in `librustc_codegen_ssa/base.rs`), and they both receive the same `tcx` as an argument: https://github.com/rust-lang/rust/blob/c196097e588b05e86b5ce6de992b2a6e6a7027bd/src/librustc_codegen_ssa/base.rs#L555-L557 and: https://github.com/rust-lang/rust/blob/c196097e588b05e86b5ce6de992b2a6e6a7027bd/src/librustc_codegen_ssa/base.rs#L640-L642 However, `codegen_allocator` accepts a `TyCtxt` with any lifetime parameters (`tcx: TyCtxt<'_, '_, '_>`), while `write_metadata` requires that the `tcx` argument is of type `TyCtxt<'b, 'gcx, 'gcx>`. In my implementation, I've found that it's necessary for `tcx` in `codegen_allocator` to also have the `<'b, 'gcx, 'gcx>` lifetime parameters. Have I misunderstood the purpose of the parameters of `TyCtxt`? I've read [here](https://rust-lang.github.io/rustc-guide/ty.html) that the last two parameters only need to be distinct if the function needs to be used during type inference, but I don't think that is the case here.
2019-03-08Rollup merge of #58921 - cuviper:issue-50582, r=varkorPietro Albini-0/+15
Add an explicit test for issue #50582 This code no longer ICEs, and @yodaldevoid found that it was fixed by commit fe5710a. While that added a similar test, we can explicitly test this reproducer too. Closes #50582.
2019-03-08Rollup merge of #58918 - gilescope:async-await-issue-testcase, r=petrochenkovPietro Albini-0/+28
Regression test added for an async ICE. Regression test for #57084 (as suggested in issue).
2019-03-08Rollup merge of #58912 - pnkfelix:issue-58813-incr-comp-regress-test, ↵Pietro Albini-0/+14
r=petrochenkov Regression test for #58813 Fix #58813
2019-03-08Rollup merge of #58911 - pnkfelix:issue-58435-regression-test, r=alexcrichtonPietro Albini-0/+17
Regression test for #58435. Fix #58435
2019-03-08Rollup merge of #58906 - Nemo157:generator-state-debug-info, r=ZoxcPietro Albini-0/+28
Monomorphize generator field types for debuginfo Fixes #58888 r? @Zoxc
2019-03-08Rollup merge of #58893 - benaryorg:thread_local_example_join, r=alexcrichtonPietro Albini-1/+4
race condition in thread local storage example The example had a potential race condition that would still pass the test. If the thread which was supposed to modify it's own thread local was slower than the instruction to modify in the main thread, then the test would pass even in case of a failure. This is would be minor if the child thread was waited for since it check using an `assert_eq` for the same thing, but vice versa. However, if the `assert_eq` failed this would trigger a panic, which is not at all caught by the example since the thread is not waited on. Signed-off-by: benaryorg <binary@benary.org>
2019-03-08Rollup merge of #58891 - Delta-Psi:doc-fixes, r=CentrilPietro Albini-1/+1
Remove stray ` in the docs for the FromIterator implementation for Option