summary refs log tree commit diff
AgeCommit message (Collapse)AuthorLines
2020-06-01Auto merge of #72883 - Mark-Simulacrum:stable-next, r=Mark-Simulacrum 1.44.0bors-42/+293
[stable] 1.44 release This includes a release notes update as usual and a backport of #72767. r? @ghost
2020-06-01add fixme suggested by eddybFelix S Klock II-1/+4
2020-06-01Use the virtual name for libstd files in StableSourceFileId and also in theFelix S. Klock II-2/+24
encoded build artifacts. Fix #70924.
2020-06-01Split payload of FileName::Real to track both real and virutalized paths.Felix S. Klock II-39/+103
Such splits arise from metadata refs into libstd. This way, we can (in a follow on commit) continue to emit the virtual name into things like the like the StableSourceFileId that ends up in incremetnal build artifacts, while still using the devirtualized file path when we want to access the file. Note that this commit is intended to be a refactoring; the actual fix to the bug in question is in a follow-on commit.
2020-06-01`StableSourceFileId::new_from_pieces` does not need to be public.Felix S. Klock II-1/+1
(and I want to discourage further use of it if possible.)
2020-06-011.44 releaseMark Rousskov-1/+163
2020-05-23Auto merge of #72468 - Elinvynia:backport, r=Mark-Simulacrumbors-24/+148
[beta] Rollup backports This includes: * Fail if I/O error occurs during testing #72089 * Fix hang in lexical_region_resolve #72087 * Fix E0284 to not use incorrect wording #71960 * Bump pulldown-cmark #71682
2020-05-22Fail if I/O error occurs during testingMark Rousskov-1/+4
(cherry picked from commit a5ba75283e279205dd96d402dfde42041ac53fb4)
2020-05-22Fix hang in lexical_region_resolveMatthew Jasper-4/+23
(cherry picked from commit e7b02046a0b34ec6d114a7ba5549db8457684ec4)
2020-05-22Fix E0284 to not use incorrect wordingEsteban Küber-15/+117
Fix #71584, fix #69683. (cherry picked from commit a7b03ad4eddb65abede497dbc408244f23c36256)
2020-05-22Bump pulldown-cmarkEric Huss-4/+4
(cherry picked from commit 1776de948cc26652b8e4fd383bb8fbf05d0ab727)
2020-05-11Auto merge of #72054 - Mark-Simulacrum:beta-next, r=Mark-Simulacrumbors-264/+336
[beta] backports This backport rollup includes the following: * [beta] Update cargo #71967 * Backport 1.43.1 release notes to master #71914 * Update the `cc` crate #71882 * resolve: Relax fresh binding disambiguation slightly to fix regression #71846 * Do not try to find binop method on RHS `TyErr` #71810 * Quick and dirty fix of the unused_braces lint #71517 * Update stdarch submodule #71495 * normalize field projection ty to fix broken MIR issue #71488 * Update openssl-src to 1.1.1g #71430 * fix error code in E0751.md #71426 * Don't fuse Chain in its second iterator #71404 * Remove some `Vec` allocations to improve performance #71268 * [CI] Use the latest Python available on Windows #71995 It also switches the bootstrap compiler to 1.43.1.
2020-05-11Bump clippy submodule to fix compilation failureMark Rousskov-11/+18
2020-05-10ci: use the latest python available on windowsPietro Albini-2/+10
This commit changes our Windows CI to always use the latest Python interpreter available in the GHA tool cache instead of hardcoding Python 3.7.6. This is needed because occasionally GitHub bumps the installed version, deleting the previous one.
2020-05-10Remove some allocations in predicate evaluationEsteban Küber-9/+10
2020-05-10Use more `Iterator`s instead of `Vec`sEsteban Küber-81/+60
2020-05-10Remove unnecessary allocationEsteban Küber-26/+25
2020-05-10Remove some `Vec` allocations in an effort to improve perfEsteban Küber-52/+37
2020-05-09Don't fuse Chain in its second iteratorJosh Stone-35/+62
Only the "first" iterator is actually set `None` when exhausted, depending on whether you iterate forward or backward. This restores behavior similar to the former `ChainState`, where it would transition from `Both` to `Front`/`Back` and only continue from that side. However, if you mix directions, then this may still set both sides to `None`, totally fusing the iterator.
2020-05-09fix error code for E0751YI-30/+30
2020-05-09update openssl-src to 1.1.1gPietro Albini-2/+2
Fixes CVE-2020-1967.
2020-05-09normalize field projection ty to fix broken MIR issueSantiago Pastorino-0/+2
2020-05-09Update stdarch submoduleAmanieu d'Antras-0/+0
2020-05-09Add rustdoc regression test for the unused_braces lintflip1995-0/+14
2020-05-09Quick and dirty fix of the unused_braces lintflip1995-1/+7
Adresses #70814
2020-05-09Do not try to find binop method on RHS `TyErr`Esteban Küber-1/+28
Fix #71798.
2020-05-09resolve: Relax fresh binding disambiguation slightly to fix regressionVadim Petrochenkov-6/+11
2020-05-09Update the `cc` crateAlex Crichton-2/+2
Pulls in updated MSVC detection logic landed in alexcrichton/cc-rs#488
2020-05-09backport 1.43.1 release notesJosh Stone-4/+16
2020-05-09[beta] Update cargoEric Huss-0/+0
2020-05-09Use 1.43.1 releaseMark Rousskov-3/+3
2020-04-25Auto merge of #71441 - RalfJung:beta-const-validation-fix, r=Mark-Simulacrumbors-138/+118
[beta] fix failing const validation This is the **beta branch fix** for https://github.com/rust-lang/rust/issues/71353, by reverting https://github.com/rust-lang/rust/pull/70566. r? @oli-obk Not sure if there is any extra process for the beta part. This is not a backport; we intend to "properly" fix this on master but for beta a revert is faster and less risky.
2020-04-22adjust testsRalf Jung-133/+113
2020-04-22Revert "Move early needs_subst bailout to _after_ linting."Ralf Jung-5/+5
This reverts commit 99492e41b60f21f2f461e8131605e054020d328e.
2020-04-21Auto merge of #71378 - Mark-Simulacrum:beta-next, r=Mark-Simulacrumbors-32/+10
[beta] Switch to dev-static bootstrap Finishes master to beta promotion.
2020-04-21Cherry-pick rustfmt test fixesMark Rousskov-22/+0
2020-04-21Always permit miri to fail to buildMark Rousskov-4/+4
This presumably "accidentally" never actually got triggered in the past, but since we don't actually require shipping miri on beta or stable, this should be fine.
2020-04-21Switch to dev-static bootstrapMark Rousskov-6/+6
2020-04-21Auto merge of #71170 - spastorino:dyn-fnonce-alignment, r=nikomatsakisbors-16/+166
Make Box<dyn FnOnce> respect self alignment Closes #68304 r? @eddyb @nikomatsakis
2020-04-21Auto merge of #71267 - pnkfelix:issue-71248-dont-need-exports-all-green, ↵bors-10/+22
r=nagisa attempt to recover perf by removing `exports_all_green` attempt to recover perf by removing `exports_all_green` flag. cc #71248 (My hypothesis is that my use of this flag was an overly conservative generalization of PR #67020.)
2020-04-21Auto merge of #71367 - Dylan-DPC:rollup-ysj4olr, r=Dylan-DPCbors-35/+145
Rollup of 4 pull requests Successful merges: - #69362 (Stabilize most common subset of alloc_layout_extras) - #71174 (Check that main/start is not async) - #71285 (MIR: use HirId instead of NodeId to avoid cycles while inlining) - #71346 (Do not build tools if user do not want them) Failed merges: r? @ghost
2020-04-21Rollup merge of #71346 - mati865:rustbuild-tools, r=Mark-SimulacrumDylan DPC-1/+9
Do not build tools if user do not want them Fixes https://github.com/rust-lang/rust/issues/71307
2020-04-21Rollup merge of #71285 - ljedrz:mir_inline_span_for_optimized_mir, ↵Dylan DPC-7/+5
r=ecstatic-morse MIR: use HirId instead of NodeId to avoid cycles while inlining I wanted to see if I could limit the number of uses of `NodeId` when `HirId` is available and I saw that some of the MIR `Inliner` code could use `Span` instead of `NodeId`, not unlike in https://github.com/rust-lang/rust/pull/71197. ~If I'm understanding the reason for not calling `optimized_mir` in incremental builds here correctly, this change could also allow us to do so.~ This change could affect performance, so if this approach makes sense, a perf run is probably a good idea.
2020-04-21Rollup merge of #71174 - Nokel81:fix-async-main-error, r=petrochenkovDylan DPC-14/+88
Check that main/start is not async * Add new error code E0752 * Add span to hir::IsAsync::Yes * Emit an error if main or the start function is marked as async * Add two regression tests This PR fixes #68523.
2020-04-21Rollup merge of #69362 - CAD97:alloc_layout_extras, r=AmanieuDylan DPC-13/+43
Stabilize most common subset of alloc_layout_extras Tracking issue: https://github.com/rust-lang/rust/issues/55724 Specifically, this stabilizes: ```rust pub fn Layout::align_to(&self, align: usize) -> Result<Layout, LayoutErr>; pub fn Layout::pad_to_align(&self) -> Layout; pub fn Layout::extend(&self, next: Layout) -> Result<(Layout, usize), LayoutErr>; pub fn Layout::array<T>(n: usize) -> Result<Layout, LayoutErr>; ``` Methods that are tracked by #55724 but are not stabilized here: ```rust pub fn Layout::padding_needed_for(&self, align: usize) -> usize; pub fn Layout::repeat(&self, n: usize) -> Result<(Layout, usize), LayoutErr>; pub fn Layout::repeat_packed(&self, n: usize) -> Result<Layout, LayoutErr>; pub fn Layout::extend_packed(&self, next: Layout) -> Result<Layout, LayoutErr>; ``` Combined, these stabilized functions allow code to construct and manipulate `repr(C)` layouts while letting the standard library handle correctness in the face of edge cases. For example use cases, consider the usage in [hashbrown](https://github.com/Amanieu/hashbrown/blob/2f2af1d/src/raw/mod.rs#L143), [crossbeam-skiplist](https://github.com/crossbeam-rs/crossbeam-skiplist/blob/master/src/base.rs#L99), [pointer-utils/slice-dst](https://github.com/CAD97/pointer-utils/blob/92aeefeed9399f28d1b1654b63f8dcbe1242d8d4/crates/slice-dst/src/layout_polyfill.rs), and of course the standard library itself. Providing a higher-level API such as `Layout::repr_c<const N: usize>(fields: [Layout; N]) -> Result<(Layout, [usize; N]), LayoutErr>` is blocked on const generics, which are a ways off. Providing an API that doesn't provide offsets would be quite suboptimal, as the reason for calculating the layout like this rather than `Layout::new` is to get the field offsets. The primary issue with the current API is having to call `.pad_to_align()` to match the layout of a `repr(C)` struct. However, I think this is not just a (failing? limitation?) of the API, but rather intrinsic complexity. While all Rust-defined types have size==stride, and probably will for the foreseeable future, there is no inherent reason why this is a limitation of all allocations. As such, the `Layout` manipulation APIs shouldn't impose this limitation, and instead the higher level api of `repr_c` (or just plain old using `Layout::new`) can make keeping it simple. cc @matklad r? @rust-lang/libs
2020-04-20Auto merge of #71356 - Dylan-DPC:rollup-liockhk, r=Dylan-DPCbors-60/+223
Rollup of 5 pull requests Successful merges: - #71250 (Replace big JS dict with JSON parsing) - #71270 (Fix `has_no_input_arg` check and rename it to `has_only_self_parameter`) - #71284 (fix -Zast-json to output correct JSON form) - #71328 (Stabilize PathBuf capacity methods) - #71334 (Update pattern docs.) Failed merges: r? @ghost
2020-04-20Do not build tools if user do not want themMateusz Mikuła-1/+9
2020-04-20Improve Layout::extend docsCAD97-3/+4
2020-04-20Update src/libcore/alloc/layout.rsChristopher Durham-2/+2
Co-Authored-By: Amanieu d'Antras <amanieu@gmail.com>
2020-04-20Rollup merge of #71334 - ehuss:pattern-docs, r=kennytmDylan DPC-37/+150
Update pattern docs. A few changes to help clarify string pattern usage: * Add some examples and stability information in the `pattern` module. * Fixes the links at https://doc.rust-lang.org/std/str/pattern/ because intra-doc-links don't work with re-exported modules (#65983 I think?). * Consistently use the same phrasing for `str` methods taking a pattern. * Also mention that array of `char` is also accepted. When `Pattern` is stabilized, the phrasing in the `str` methods can be updated to be more general to reflect the exact behavior. I'm reluctant to do this now because the stability story for `Pattern` is uncertain. It may perhaps look something like: > The pattern can be any type that implements the [`Pattern`] trait. Notable examples are `&str`, [`char`], arrays of [`char`], or functions or closures that determines if a character matches. Additional libraries might provide more complex patterns like regular expressions. This is complicated because methods like `trim_matches` have bounds, which for example don't support `str`, so those methods may need more elaboration.