about summary refs log tree commit diff
path: root/src
AgeCommit message (Collapse)AuthorLines
2020-06-27Rollup merge of #73809 - robyoung:docs/add-links-to-DirEntry-metadata, ↵Manish Goregaokar-1/+4
r=hanna-kruppe Add links to fs::DirEntry::metadata `fs::DirEntry::metadata` doesn't traverse symlinks. It is not immediately clear what to do if you do want to traverse symlinks. This change adds links to the two other `metadata` functions that will follow symlinks.
2020-06-27Rollup merge of #73797 - atetubou:patch-1, r=jonas-schievinkManish Goregaokar-1/+1
fix typo in self-profile.md
2020-06-27Rollup merge of #73796 - lcnr:LocalDefId, r=matthewjasperManish Goregaokar-301/+304
replace more `DefId`s with `LocalDefId` part of https://github.com/rust-lang/rust/issues/70853
2020-06-27Rollup merge of #73763 - davidtwco:terminal-width-json-emitter, r=estebankManish Goregaokar-7/+96
errors: use `-Z terminal-width` in JSON emitter This PR makes the JSON emitter use `-Z terminal-width` in the "rendered" field of the JSON output. r? @estebank
2020-06-27Rollup merge of #73758 - davidtwco:issue-60855-remaining-reveal-all, ↵Manish Goregaokar-62/+66
r=matthewjasper improper_ctypes: fix remaining `Reveal:All` Fixes #60855. This PR replaces the remaining uses of `ParamEnv::reveal_all` with `LateContext`'s `param_env` (normally `Reveal::UserFacing`) in the improper ctypes lint.
2020-06-27Rollup merge of #73708 - Aaron1011:feature/reland-move-fn-self-msg, r=davidtwcoManish Goregaokar-123/+779
Explain move errors that occur due to method calls involving `self` (take two) This is a re-attempt of #72389 (which was reverted in #73594) Instead of using `ExpnKind::Desugaring` to represent operators, this PR checks the lang item directly.
2020-06-27Rollup merge of #73672 - nellshamrell:async-fix, r=estebankManish Goregaokar-15/+22
Adds a clearer message for when the async keyword is missing from a f… …unction This is a somewhat simple fix for #66731. Under the current version of Rust, if a user has a rust file that looks like this: ```rust fn boo (){} async fn foo() { boo().await; } fn main() { } ``` And they attempt to run it, they will receive an error message that looks like this: ```bash error: incorrect use of `await` --> test.rs:4:14 | 4 | boo.await(); | ^^ help: `await` is not a method call, remove the parentheses error[E0277]: the trait bound `fn() {boo}: std::future::Future` is not satisfied --> test.rs:4:5 | 4 | boo.await(); | ^^^^^^^^^ the trait `std::future::Future` is not implemented for `fn() {boo}` error: aborting due to 2 previous errors For more information about this error, try `rustc --explain E0277`. ``` This is not very clear. With the changes made in this PR, when a user compiles and runs that same rust code, they will receive an error message that looks like this: ```bash error[E0277]: `()` is not a future. --> test.rs:4:5 | 4 | boo().await; | ^^^^^^^^^^^ `()` is not a future | = help: the trait `std::future::Future` is not implemented for `()` = note: required by `std::future::Future::poll` ``` In the future, I think we should make this error message even clearer, perhaps through a solution like the one described in [this comment](https://github.com/rust-lang/rust/issues/66731#issuecomment-644394287). However, as that potentially involves a major change proposal, I would rather get this change in now and make the error message a little clearer while an MCP is drafted and discussed. Signed-off-by: Nell Shamrell <nellshamrell@gmail.com>
2020-06-27Rollup merge of #73525 - cuviper:llvm11, r=nikicManish Goregaokar-57/+167
Prepare for LLVM 11 These are just the code changes needed to build with the current LLVM master (version 11). r? @nikic
2020-06-27Rollup merge of #73243 - poliorcetics:discourage-is-file, r=AmanieuManish Goregaokar-5/+30
Add documentation to point to `File::open` or `OpenOptions::open` instead of `is_file` to check read/write possibility Fixes #64170. This adds documentation to point user towards `!is_dir` instead of `is_file` when all they want to is read from a source. I ran `rg "fn is_file\("` to find all `is_file` methods, I hope I did not miss one.
2020-06-27Rollup merge of #72796 - RalfJung:mir-assign-sanity, r=matthewjasperManish Goregaokar-51/+176
MIR sanity check: validate types on assignment This expands the MIR validation added by @jonas-schievink in https://github.com/rust-lang/rust/pull/72093 to also check that on an assignment, the types of both sides match. Cc @eddyb @oli-obk
2020-06-27Added the parapgrah to path::Path::is_file tooAlexis Bourget-2/+7
2020-06-27Auto merge of #73671 - ehuss:update-mdbook, r=Mark-Simulacrumbors-133/+12
Update mdbook This updates mdbook to 0.4. The list of changes can be found at https://github.com/rust-lang/mdBook/blob/master/CHANGELOG.md#mdbook-040. I think the most important one is the change to include fonts with the book instead of using the Google Fonts CDN. This adds a few megabytes of fonts to the docs component. It may be possible to share the fonts across the books, but would take a fair bit of work to make that happen, so I'm not sure if it is necessary. This also removes mdbook-linkcheck. It is currently not being used, and I don't foresee it going back into use anytime soon. I would prefer not to maintain something that isn't being used, and it removes a very large number of dependencies.
2020-06-27Add links to fs::DirEntry::metadataRob Young-1/+4
`fs::DirEntry::metadata` doesn't traverse symlinks. It is not immediately clear what to do if you do want to traverse symlinks. This change adds links to the two other `metadata` functions that will follow symlinks.
2020-06-27Update the documentation to point to open instead of is_file and is_dirAlexis Bourget-11/+15
2020-06-27fix typo in self-profile.mdTakuto Ikuta-1/+1
2020-06-27more LocalDefId cleanupBastian Kauschke-260/+259
2020-06-27more LocalDefId in ty::contextBastian Kauschke-6/+10
2020-06-27use LocalDefId in module checkingBastian Kauschke-39/+39
2020-06-27Auto merge of #73779 - Manishearth:rollup-lwqd9jm, r=Manishearthbors-116/+445
Rollup of 12 pull requests Successful merges: - #72771 (Warn if linking to a private item) - #72937 (Fortanix SGX target libunwind build process changes) - #73485 (Perform obligation deduplication to avoid buggy `ExistentialMismatch`) - #73529 (Add liballoc impl SpecFromElem for i8) - #73579 (add missing doc links) - #73627 (Shortcuts for min/max on double-ended BTreeMap/BTreeSet iterators) - #73691 (Bootstrap: detect Windows based on sys.platform) - #73694 (Document the Self keyword) - #73718 (Document the super keyword) - #73728 (Document some invariants correctly/more) - #73738 (Remove irrelevant comment) - #73765 (Remove blank line) Failed merges: r? @ghost
2020-06-26Auto merge of #73596 - petrochenkov:shebang2, r=Mark-Simulacrumbors-20/+21
rustc_lexer: Simplify shebang parsing once more Fixes https://github.com/rust-lang/rust/issues/73250 (beta regression) Treat any line starting with `!#` as a shebang candidate, not only lines with something non-whitespace. This way we no longer need to define what `is_whitespace` means ([Linux shebang whitespace](https://github.com/torvalds/linux/blob/master/fs/binfmt_script.c), ASCII whitespace, Rust lexer whitespace, etc), which is nice. This change makes some invalid Rust code valid (see the regression above), but still never interprets a fragment of valid Rust code as a shebang. (This PR also removes one duplicate test.)
2020-06-26Rollup merge of #73765 - kraai:remove-blank-line, r=jonas-schievinkManish Goregaokar-1/+0
Remove blank line
2020-06-26Rollup merge of #73738 - nbdd0121:comment, r=nikomatsakisManish Goregaokar-5/+0
Remove irrelevant comment Iterator is no longer a lang item since 216e72f8d9499d012e23bc4563215e693fcb4f35.
2020-06-26Rollup merge of #73728 - oli-obk:const_prop_cleanup, r=wesleywiserManish Goregaokar-6/+13
Document some invariants correctly/more r? @wesleywiser
2020-06-26Rollup merge of #73718 - poliorcetics:super-keyword, r=shepmasterManish Goregaokar-2/+18
Document the super keyword Partial fix of #34601. Quite short, just a small example and a link to the reference. @rustbot modify labels: T-doc,C-enhancement
2020-06-26Rollup merge of #73694 - poliorcetics:self-upper-keyword, r=Mark-SimulacrumManish Goregaokar-2/+57
Document the Self keyword Partial fix of #34601. Document the `Self` keyword. This contains simple examples of the places where `Self` can be used.
2020-06-26Rollup merge of #73691 - ajpaverd:bootstrap-windows-73689, r=Mark-SimulacrumManish Goregaokar-0/+6
Bootstrap: detect Windows based on sys.platform Closes #73689.
2020-06-26Rollup merge of #73627 - ssomers:btree_iter_min_max, r=Mark-SimulacrumManish Goregaokar-0/+141
Shortcuts for min/max on double-ended BTreeMap/BTreeSet iterators Closes #59947: a performance tweak that might benefit some. Optimizes `min` and `max ` on all btree double-ended iterators that do not drop, i.e. the iterators created by: - `BTreeMap::iter` - `BTreeMap::iter_mut` - `BTreeMap::keys` and `BTreeSet::iter` - `BTreeMap::range` and `BTreeSet::range` - `BTreeMap::range_mut` Also in these (currently) single-ended iterators, but obviously for `min` only: - `BTreeSet::difference` - `BTreeSet::intersection` - `BTreeSet::symmetric_difference` - `BTreeSet::union` Did not do this in iterators created by `into_iter` to preserve drop order, as outlined in #62316. Did not do this in iterators created by `drain_filter`, possibly to preserve drop order, possibly to preserve predicate invocation, mostly to not have to think about it too hard (I guess maybe it wouldn't be a change for `min`, which is the only shortcut possible in this single-ended iterator).
2020-06-26Rollup merge of #73579 - RalfJung:doc-missing-links, r=shepmasterManish Goregaokar-2/+4
add missing doc links The doc comments contain ``[`size_of_val`]`` but the link target was missing.
2020-06-26Rollup merge of #73529 - pickfire:liballoc-specfromelem-i8, r=cuviperManish Goregaokar-1/+15
Add liballoc impl SpecFromElem for i8 Speedup vec![1_i8; N] for non-zero element. Before test do_bench_from_elem_i8 ... bench: 130 ns/iter (+/- 7) = 61 MB/s test do_bench_from_elem_u8 ... bench: 121 ns/iter (+/- 4) = 66 MB/s After test do_bench_from_elem_i8 ... bench: 123 ns/iter (+/- 7) = 65 MB/s test do_bench_from_elem_u8 ... bench: 121 ns/iter (+/- 5) = 66 MB/s No speed difference if element is already zero. ```rust #[bench] fn do_bench_from_elem_i8(b: &mut Bencher) { b.bytes = 8 as u64; b.iter(|| { let dst = ve::vec![10_i8; 100]; assert_eq!(dst.len(), 100); assert!(dst.iter().all(|x| *x == 10)); }) } ``` As suggested by @cuviper https://rust-lang.zulipchat.com/#narrow/stream/219381-t-libs/topic/SpecForElem.20for.20other.20integers r? @cuviper CC @joshtriplett Edit: Wow, I just realized both reviewers are Josh.
2020-06-26Rollup merge of #73485 - estebank:dedup-preds, r=nikomatsakisManish Goregaokar-3/+39
Perform obligation deduplication to avoid buggy `ExistentialMismatch` Address #59326.
2020-06-26Rollup merge of #72937 - AdrianCX:master, r=nikomatsakisManish Goregaokar-71/+54
Fortanix SGX target libunwind build process changes Ticket: https://github.com/fortanix/rust-sgx/issues/174 LLVM related changes (merged): https://github.com/rust-lang/llvm-project/pull/57 Description: libunwind changes needed to run code in sgx environment via rust-sgx. Target that uses this in rust: x86_64-fortanix-unknown-sgx. Without this change, rust std for this toolchain is forced to use a precompiled library loaded via environment variable. With this change we act the same as musl target.
2020-06-26Rollup merge of #72771 - jyn514:rustdoc, r=ManishearthManish Goregaokar-23/+98
Warn if linking to a private item Closes https://github.com/rust-lang/rust/issues/72769 r? @GuillaumeGomez
2020-06-26Explain move errors that occur due to method calls involving `self`Aaron Hill-102/+745
This is a re-attempt of #72389 (which was reverted in #73594) Instead of using `ExpnKind::Desugaring` to represent operators, this PR checks the lang item directly.
2020-06-26Make `fn_arg_names` return `Ident` instead of symbolAaron Hill-21/+34
Also, implement this query for the local crate, not just foreign crates.
2020-06-26rustc_lexer: Simplify shebang parsing once moreVadim Petrochenkov-20/+21
2020-06-26errors: use `-Z terminal-width` in JSON emitterDavid Wood-7/+96
This commit makes the JSON emitter use `-Z terminal-width` in the "rendered" field of the JSON output. Signed-off-by: David Wood <david@davidtw.co>
2020-06-26Update mdbook.Eric Huss-7/+10
2020-06-26Remove mdbook-linkcheck.Eric Huss-126/+2
2020-06-26Auto merge of #73513 - oli-obk:const_binop_overflow, r=estebankbors-986/+1273
Show the values and computation that would overflow a const evaluation or propagation Fixes #71134 In contrast to the example in the issue it doesn't use individual spans for each operand. The effort required to implement that is quite high compared to the little (if at all) benefit it would bring to diagnostics. cc @shepmaster The way this is implemented it is also fairly easy to do the same for overflow panics at runtime, but that should be done in a separate PR since it may have runtime performance implications.
2020-06-26Remove blank lineKRAAI, MATTHEW [VISUS]-1/+0
2020-06-26Fix debug messagesJoshua Nelson-3/+2
2020-06-26Generate docs for links to private items when passed --document-privateJoshua Nelson-27/+78
- Pass around document_private a lot more - Add tests + Add tests for intra-doc links to private items + Add ignored tests for warnings in reference links
2020-06-26Warn if linking to a private itemJoshua Nelson-3/+28
2020-06-26improper_ctypes: fix remaining `Reveal:All`David Wood-62/+66
This commit replaces the remaining uses of `ParamEnv::reveal_all` with `LateContext`'s `param_env` (normally `Reveal::UserFacing`). Signed-off-by: David Wood <david@davidtw.co>
2020-06-26Auto merge of #73756 - Manishearth:rollup-aehswb2, r=Manishearthbors-285/+603
Rollup of 13 pull requests Successful merges: - #72620 (Omit DW_AT_linkage_name when it is the same as DW_AT_name) - #72967 (Don't move cursor in search box when using arrows to navigate results) - #73102 (proc_macro: Stop flattening groups with dummy spans) - #73297 (Support configurable deny-warnings for all in-tree crates.) - #73507 (Cleanup MinGW LLVM linkage workaround) - #73588 (Fix handling of reserved registers for ARM inline asm) - #73597 (Record span of `const` kw in GenericParamKind) - #73629 (Make AssocOp Copy) - #73681 (Update Chalk to 0.14) - #73707 (Fix links in `SliceIndex` documentation) - #73719 (emitter: column width defaults to 140) - #73729 (disable collectionbenches for android) - #73748 (Add code block to code in documentation of `List::rebase_onto`) Failed merges: r? @ghost
2020-06-26Show the values and computation that would overflow a const evaluation or ↵Oliver Scherer-986/+1273
propagation
2020-06-26Shortcuts for min/max on ordinary BTreeMap/BTreeSet iteratorsStein Somers-0/+141
2020-06-26Rollup merge of #73748 - jyn514:doc-fix, r=ManishearthManish Goregaokar-0/+2
Add code block to code in documentation of `List::rebase_onto` Closes https://github.com/rust-lang/rust/issues/73676 @bors rollup=always
2020-06-26Rollup merge of #73729 - nellshamrell:disable-collectionsbenches-android, ↵Manish Goregaokar-0/+4
r=sfackler disable collectionbenches for android Fixes #73535 Signed-off-by: Nell Shamrell <nellshamrell@gmail.com>
2020-06-26Rollup merge of #73719 - davidtwco:issue-72509-emitter-column-width, r=estebankManish Goregaokar-3/+7
emitter: column width defaults to 140 Fixes #72509. This PR modifies the column width computation in the emitter when `termize::dimensions` returns `None` so that it uses the default value of 140 (which is used in UI testing currently) instead of `usize::MAX` which just ends up causing overflows in later computations. I also tried changing the computations which used `column_width` with their saturating equivalent, but the output appeared the same - so I decided to go with this approach because I feel like it's less likely to accidentally re-introduce an ICE like this in future (e.g. adding a non-saturating operation on `column_width` in future). I haven't added a test because I couldn't come up with a MCVE. I stumbled upon this running rustc-perf with the `piston-image` benchmark (running in tmux; it only happened with stage two builds only; and only when running through Cargo, not rustc directly with the same flags). In addition, given the nature of the issue, I don't know that we *could* write a UI test for this. Open to suggestions here though. r? @estebank