| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2020-11-06 | Do not try to report on closures to avoid ICE | Yuki Okushi | -0/+8 | |
| 2020-09-26 | Revert "Add an unused field of type `Option<DefId>` to `ParamEnv` struct." | Dylan MacKenzie | -1/+1 | |
| This reverts commit ab83d372ed5b1799d418afe83c468e4c5973cc34. | ||||
| 2020-09-26 | Rollup merge of #77211 - est31:remove_unused_allow, r=oli-obk | Ralf Jung | -1/+0 | |
| Remove unused #[allow(...)] statements from compiler/ | ||||
| 2020-09-26 | Rollup merge of #77093 - lcnr:const-generics-infer-warning, r=varkor | Ralf Jung | -104/+178 | |
| merge `need_type_info_err(_const)` I hoped that this would automatically solve #76737 but it doesn't quite seem like it fixes #77092 r? @varkor | ||||
| 2020-09-26 | unused into | Bastian Kauschke | -1/+1 | |
| 2020-09-26 | rename functions | Bastian Kauschke | -12/+12 | |
| 2020-09-26 | Remove unused #[allow(...)] statements from compiler/ | est31 | -1/+0 | |
| 2020-09-25 | Implement `Display` for `DisambiguatedDefPathData` and `DefPathData` | marmeladema | -1/+1 | |
| 2020-09-25 | Move from {{closure}}#0 syntax to {closure#0} for (def) path components | marmeladema | -1/+1 | |
| 2020-09-25 | Rollup merge of #77121 - duckymirror:html-root-url, r=jyn514 | Jonas Schievink | -1/+1 | |
| Updated html_root_url for compiler crates Closes #77103 r? @jyn514 | ||||
| 2020-09-24 | the two hardest things in programming, names and... | Bastian Kauschke | -79/+115 | |
| 2020-09-23 | /nightly/nightly-rustc | Erik Hofmayer | -1/+1 | |
| 2020-09-23 | Updated html_root_url for compiler crates | Erik Hofmayer | -1/+1 | |
| 2020-09-23 | use relevant span when unifying `ConstVarValue`s | Bastian Kauschke | -1/+2 | |
| 2020-09-23 | use the correct span when dealing with inference variables | Bastian Kauschke | -5/+9 | |
| 2020-09-23 | unused path | Bastian Kauschke | -1/+1 | |
| 2020-09-23 | merge `need_type_info_err(_const)` | Bastian Kauschke | -88/+121 | |
| 2020-09-23 | Move MiniSet to data_structures | Andreas Jonson | -1/+1 | |
| remove the need for T to be copy from MiniSet as was done for MiniMap | ||||
| 2020-09-22 | Auto merge of #76928 - lcnr:opaque-types-cache, r=tmandry | bors | -60/+1 | |
| cache types during normalization partially fixes #75992 reduces the following test from 14 to 3 seconds locally. cc `@Mark-Simulacrum` would it make sense to add that test to `perf`? ```rust #![recursion_limit="2048"] #![type_length_limit="112457564"] pub async fn h0(v: &String, x: &u64) { println!("{} {}", v, x) } pub async fn h1(v: &String, x: &u64) { h0(v, x).await } pub async fn h2(v: &String, x: &u64) { h1(v, x).await } pub async fn h3(v: &String, x: &u64) { h2(v, x).await } pub async fn h4(v: &String, x: &u64) { h3(v, x).await } pub async fn h5(v: &String, x: &u64) { h4(v, x).await } pub async fn h6(v: &String, x: &u64) { h5(v, x).await } pub async fn h7(v: &String, x: &u64) { h6(v, x).await } pub async fn h8(v: &String, x: &u64) { h7(v, x).await } pub async fn h9(v: &String, x: &u64) { h8(v, x).await } pub async fn h10(v: &String, x: &u64) { h9(v, x).await } pub async fn h11(v: &String, x: &u64) { h10(v, x).await } pub async fn h12(v: &String, x: &u64) { h11(v, x).await } pub async fn h13(v: &String, x: &u64) { h12(v, x).await } pub async fn h14(v: &String, x: &u64) { h13(v, x).await } pub async fn h15(v: &String, x: &u64) { h14(v, x).await } pub async fn h16(v: &String, x: &u64) { h15(v, x).await } pub async fn h17(v: &String, x: &u64) { h16(v, x).await } pub async fn h18(v: &String, x: &u64) { h17(v, x).await } pub async fn h19(v: &String, x: &u64) { h18(v, x).await } macro_rules! async_recursive { (29, $inner:expr) => { async { async_recursive!(28, $inner) }.await }; (28, $inner:expr) => { async { async_recursive!(27, $inner) }.await }; (27, $inner:expr) => { async { async_recursive!(26, $inner) }.await }; (26, $inner:expr) => { async { async_recursive!(25, $inner) }.await }; (25, $inner:expr) => { async { async_recursive!(24, $inner) }.await }; (24, $inner:expr) => { async { async_recursive!(23, $inner) }.await }; (23, $inner:expr) => { async { async_recursive!(22, $inner) }.await }; (22, $inner:expr) => { async { async_recursive!(21, $inner) }.await }; (21, $inner:expr) => { async { async_recursive!(20, $inner) }.await }; (20, $inner:expr) => { async { async_recursive!(19, $inner) }.await }; (19, $inner:expr) => { async { async_recursive!(18, $inner) }.await }; (18, $inner:expr) => { async { async_recursive!(17, $inner) }.await }; (17, $inner:expr) => { async { async_recursive!(16, $inner) }.await }; (16, $inner:expr) => { async { async_recursive!(15, $inner) }.await }; (15, $inner:expr) => { async { async_recursive!(14, $inner) }.await }; (14, $inner:expr) => { async { async_recursive!(13, $inner) }.await }; (13, $inner:expr) => { async { async_recursive!(12, $inner) }.await }; (12, $inner:expr) => { async { async_recursive!(11, $inner) }.await }; (11, $inner:expr) => { async { async_recursive!(10, $inner) }.await }; (10, $inner:expr) => { async { async_recursive!(9, $inner) }.await }; (9, $inner:expr) => { async { async_recursive!(8, $inner) }.await }; (8, $inner:expr) => { async { async_recursive!(7, $inner) }.await }; (7, $inner:expr) => { async { async_recursive!(6, $inner) }.await }; (6, $inner:expr) => { async { async_recursive!(5, $inner) }.await }; (5, $inner:expr) => { async { async_recursive!(4, $inner) }.await }; (4, $inner:expr) => { async { async_recursive!(3, $inner) }.await }; (3, $inner:expr) => { async { async_recursive!(2, $inner) }.await }; (2, $inner:expr) => { async { async_recursive!(1, $inner) }.await }; (1, $inner:expr) => { async { async_recursive!(0, $inner) }.await }; (0, $inner:expr) => { async { h19(&String::from("owo"), &0).await; $inner }.await }; } async fn f() { async_recursive!(14, println!("hello")); } fn main() { let _ = f(); } ``` r? `@eddyb` requires a perf run. | ||||
| 2020-09-21 | Rollup merge of #76888 - matthiaskrgr:clippy_single_match_2, r=Dylan-DPC | ecstatic-morse | -10/+8 | |
| use if let instead of single match arm expressions use if let instead of single match arm expressions to compact code and reduce nesting (clippy::single_match) | ||||
| 2020-09-22 | Auto merge of #76913 - vandenheuvel:performance_debug, r=lcnr | bors | -1/+1 | |
| Fixing the performance regression of #76244 Issue https://github.com/rust-lang/rust/issues/74865 suggested that removing the `def_id` field from `ParamEnv` would improve performance. PR https://github.com/rust-lang/rust/pull/76244 implemented this change. Generally, [results](https://perf.rust-lang.org/compare.html?start=80fc9b0ecb29050d45b17c64af004200afd3cfc2&end=5ef250dd2ad618ee339f165e9b711a1b4746887d) were as expected: an instruction count decrease of about a percent. The instruction count for the unicode crates increased by about 3%, which `@nnethercote` speculated to be caused by a quirk of inlining or codegen. As the results were generally positive, and for chalk integration, this was also a step in the right direction, the PR was r+'d regardless. However, [wall-time performance results](https://perf.rust-lang.org/compare.html?start=a055c5a1bd95e029e9b31891db63b6dc8258b472&end=7402a394471a6738a40fea7d4f1891666e5a80c5&stat=task-clock) show a much larger performance degradation: 25%, as [mentioned](https://github.com/rust-lang/rust/pull/76244#issuecomment-694459840) by `@Mark-Simulacrum.` This PR, for now, reverts #76244 and attempts to find out, which change caused the regression. | ||||
| 2020-09-21 | check for cycles when unifying const variables | Bastian Kauschke | -11/+231 | |
| 2020-09-21 | Add an unused field of type `Option<DefId>` to `ParamEnv` struct. | Bram van den Heuvel | -1/+1 | |
| 2020-09-20 | Auto merge of #76964 - RalfJung:rollup-ybn06fs, r=RalfJung | bors | -2/+0 | |
| Rollup of 15 pull requests Successful merges: - #76722 (Test and fix Send and Sync traits of BTreeMap artefacts) - #76766 (Extract some intrinsics out of rustc_codegen_llvm) - #76800 (Don't generate bootstrap usage unless it's needed) - #76809 (simplfy condition in ItemLowerer::with_trait_impl_ref()) - #76815 (Fix wording in mir doc) - #76818 (Don't compile regex at every function call.) - #76821 (Remove redundant nightly features) - #76823 (black_box: silence unused_mut warning when building with cfg(miri)) - #76825 (use `array_windows` instead of `windows` in the compiler) - #76827 (fix array_windows docs) - #76828 (use strip_prefix over starts_with and manual slicing based on pattern length (clippy::manual_strip)) - #76840 (Move to intra doc links in core/src/future) - #76845 (Use intra docs links in core::{ascii, option, str, pattern, hash::map}) - #76853 (Use intra-doc links in library/core/src/task/wake.rs) - #76871 (support panic=abort in Miri) Failed merges: r? `@ghost` | ||||
| 2020-09-20 | Rollup merge of #76821 - est31:remove_redundant_nightly_features, ↵ | Ralf Jung | -2/+0 | |
| r=oli-obk,Mark-Simulacrum Remove redundant nightly features Removes a bunch of redundant/outdated nightly features. The first commit removes a `core_intrinsics` use for which a stable wrapper has been provided since. The second commit replaces the `const_generics` feature with `min_const_generics` which might get stabilized this year. The third commit is the result of a trial/error run of removing every single feature and then adding it back if compile failed. A bunch of unused features are the result that the third commit removes. | ||||
| 2020-09-20 | use if let instead of single match arm expressions to compact code and ↵ | Matthias Krüger | -10/+8 | |
| reduce nesting (clippy::single_match) | ||||
| 2020-09-19 | cache types during normalization | Bastian Kauschke | -60/+1 | |
| 2020-09-19 | Unify the names of const eval queries and their return types | Oliver Scherer | -2/+2 | |
| 2020-09-18 | Auto merge of #72412 - VFLashM:issue-72408-nested-closures-exponential, ↵ | bors | -14/+99 | |
| r=tmandry Issue 72408 nested closures exponential This fixes #72408. Nested closures were resulting in exponential compilation time. This PR is enhancing asymptotic complexity, but also increasing the constant, so I would love to see perf run results. | ||||
| 2020-09-18 | Remove redundancy in cache key | Tyler Mandry | -4/+3 | |
| 2020-09-17 | Intorduced MiniMap - a tiny small storage optimized map implementation | Valerii Lashmanov | -2/+61 | |
| This makes everything about 1% faster in rustc-perf, mostly negating performance hit of previous commit. | ||||
| 2020-09-17 | Better handling for exponential-sized types in misc places | Valerii Lashmanov | -2/+13 | |
| Mostly to fix ui/issues/issue-37311-type-length-limit/issue-37311.rs. Most parts of the compiler can handle deeply nested types with a lot of duplicates just fine, but some parts still attempt to naively traverse type tree. Before such problems were caught by type length limit check, but now these places will have to be changed to handle duplicated types gracefully. | ||||
| 2020-09-17 | Only visit types once when walking the type tree | Valerii Lashmanov | -12/+28 | |
| This fixes #72408. Nested closures were resulting in exponential compilation time. As a performance optimization this change introduces MiniSet, which is a simple small storage optimized set. | ||||
| 2020-09-17 | Remove redundant #![feature(...)] 's from compiler/ | est31 | -2/+0 | |
| 2020-09-16 | Rollup merge of #76756 - matthiaskrgr:cl123ppy, r=Dylan-DPC | Tyler Mandry | -1/+1 | |
| fix a couple of stylistic clippy warnings namely: clippy::redundant_pattern_matching clippy::redundant_pattern clippy::search_is_some clippy::filter_next clippy::into_iter_on_ref clippy::clone_on_copy clippy::needless_return | ||||
| 2020-09-16 | Rollup merge of #76699 - lcnr:const-infer-err, r=varkor | Dylan DPC | -7/+20 | |
| improve const infer error cc #72328 reduces it from ``` error[E0282]: type annotations needed --> src/main.rs:17:5 | 17 | Foo.bar().bar().bar().bar().baz(); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: unable to infer the value of a const parameter ``` to ``` error[E0282]: type annotations needed --> $DIR/method-chain.rs:21:33 | LL | Foo.bar().bar().bar().bar().baz(); | ^^^ | = note: cannot infer the value of the const parameter `N` ``` r? @varkor | ||||
| 2020-09-15 | fix a couple of stylistic clippy warnings | Matthias Krüger | -1/+1 | |
| namely: clippy::redundant_pattern_matching clippy::redundant_pattern clippy::search_is_some clippy::filter_next clippy::into_iter_on_ref clippy::clone_on_copy clippy::needless_return | ||||
| 2020-09-14 | Auto merge of #75608 - estebank:suggest-boxed-match-exprs, r=lcnr,varkor | bors | -2/+62 | |
| More structured suggestions for boxed trait objects instead of impl Trait on non-coerceable tail expressions When encountering a `match` or `if` as a tail expression where the different arms do not have the same type *and* the return type of that `fn` is an `impl Trait`, check whether those arms can implement `Trait` and if so, suggest using boxed trait objects. Use structured suggestion for `impl T` to `Box<dyn T>`. Fix https://github.com/rust-lang/rust/issues/69107 | ||||
| 2020-09-14 | improve const infer err | Bastian Kauschke | -2/+12 | |
| 2020-09-14 | shrink const infer error | Bastian Kauschke | -6/+9 | |
| 2020-09-13 | Auto merge of #76244 - vandenheuvel:remove__paramenv__def_id, r=nikomatsakis | bors | -2/+6 | |
| Removing the `def_id` field from hot `ParamEnv` to make it smaller This PR addresses https://github.com/rust-lang/rust/issues/74865. | ||||
| 2020-09-11 | Add test cases and address review comments | Esteban Küber | -5/+5 | |
| 2020-09-11 | Make suggestion more complete | Esteban Küber | -1/+1 | |
| 2020-09-11 | Make suggestion have a more targetted underline | Esteban Küber | -10/+6 | |
| 2020-09-11 | Suggest boxed trait objects in tail `match` and `if` expressions | Esteban Küber | -1/+65 | |
| When encountering a `match` or `if` as a tail expression where the different arms do not have the same type *and* the return type of that `fn` is an `impl Trait`, check whether those arms can implement `Trait` and if so, suggest using boxed trait objects. | ||||
| 2020-09-10 | use push(char) instead of push_str(&str) to add single chars to strings | Matthias Krüger | -1/+1 | |
| clippy::single-char-push-str | ||||
| 2020-09-10 | don't clone types that are copy (clippy::clone_on_copy) | Matthias Krüger | -1/+1 | |
| 2020-09-09 | Remove def_id field from ParamEnv | Bram van den Heuvel | -2/+6 | |
| 2020-09-04 | ty.flags -> ty.flags() | LeSeulArtichaut | -1/+1 | |
| 2020-09-04 | Change ty.kind to a method | LeSeulArtichaut | -44/+48 | |
