about summary refs log tree commit diff
AgeCommit message (Collapse)AuthorLines
2023-02-15Rollup merge of #107173 - clubby789:suggest-array-length, r=compiler-errorsDylan DPC-2/+119
Suggest the correct array length on mismatch Fixes #107156 I wasn't able to find a way to get the `Span` for the actual array size unfortunately, so this suggestion can't be applied automatically. ``@rustbot`` label +A-diagnostics
2023-02-15Rollup merge of #107163 - mikebenfield:parameters-pr, r=TaKO8KiDylan DPC-149/+148
Remove some superfluous type parameters from layout.rs. Specifically remove V, which can always be VariantIdx, and F, which can always be Layout.
2023-02-15Rollup merge of #105300 - aliemjay:member-lower, r=oli-obkDylan DPC-11/+288
rework min_choice algorithm of member constraints See [this comment](https://github.com/rust-lang/rust/pull/105300#issuecomment-1384312743) for the description of the new algorithm. Fixes #63033 Fixes #104639 This uses a more general algorithm than #89056 that doesn't treat `'static` as a special case. It thus accepts more code. For example: ```rust async fn test2<'s>(_: &'s u8, _: &'_ &'s u8, _: &'_ &'s u8) {} ``` I claim it's more correct as well because it fixes #104639. cc ``@nikomatsakis`` ``@lqd`` ``@tmandry`` ``@eholk`` ``@chenyukang`` ``@oli-obk`` r? types
2023-02-14Auto merge of #108056 - matthiaskrgr:rollup-oa6bxvh, r=matthiaskrgrbors-2703/+3190
Rollup of 9 pull requests Successful merges: - #107573 (Update the minimum external LLVM to 14) - #107626 (Fix `x fix` on the standard library itself) - #107673 (update ICU4X to 1.1.0) - #107733 (Store metrics from `metrics.json` to CI PGO timer) - #108007 (Use `is_str` instead of string kind comparison) - #108033 (add an unstable `#[rustc_coinductive]` attribute) - #108039 (Refactor refcounted structural_impls via functors) - #108040 (Use derive attributes for uninteresting traversals) - #108044 (interpret: rename Pointer::from_addr → from_addr_invalid) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
2023-02-14Rollup merge of #108044 - RalfJung:from-addr-invalid, r=oli-obkMatthias Krüger-6/+8
interpret: rename Pointer::from_addr → from_addr_invalid This function corresponds to `ptr::invalid` in the standard library; the previous name was not clear enough IMO.
2023-02-14Rollup merge of #108040 - eggyal:attributes_for_uninteresting_traversals, ↵Matthias Krüger-24/+66
r=oli-obk Use derive attributes for uninteresting traversals It appears that visiting and folding was implemented on `BitMatrix` solely so that the derive macros could be used on `GeneratorLayout`, however such implementation would not necessarily be correct for other uses (if there were any). Adding attributes to the derive macro is more correct and potentially more generally useful. r? ``@oli-obk``
2023-02-14Rollup merge of #108039 - eggyal:traverse_refcounts_via_functors, r=oli-obkMatthias Krüger-69/+55
Refactor refcounted structural_impls via functors The mapping of values in refcounted types can be extracted as a functor, simplifying the implementations in the type library (whose structural folding impls now all use such functors). This functor could also prove more generally useful elsewhere.
2023-02-14Rollup merge of #108033 - lcnr:coinductive-attr, r=compiler-errorsMatthias Krüger-37/+130
add an unstable `#[rustc_coinductive]` attribute useful to test coinduction, especially in the new solver. as this attribute should remain permanently unstable I don't think this needs any official approval. cc ``@rust-lang/types`` had to weaken the check for stable query results in the solver to prevent an ICE if there's a coinductive cycle with constraints. r? ``@compiler-errors``
2023-02-14Rollup merge of #108007 - compiler-errors:str-less-kind, r=NilstriebMatthias Krüger-12/+11
Use `is_str` instead of string kind comparison Split out from #107939
2023-02-14Rollup merge of #107733 - Kobzol:opt-build-metrics, r=Mark-SimulacrumMatthias Krüger-34/+124
Store metrics from `metrics.json` to CI PGO timer With this change, we'll be able to easily see how long does it take to compile LLVM vs `rustc`. r? ```@Mark-Simulacrum```
2023-02-14Rollup merge of #107673 - lukas-code:update-icu4x, r=davidtwcoMatthias Krüger-2303/+2734
update ICU4X to 1.1.0 This patch updates the ICU4X crates to version 1.1.0 and regenerates the static data for `rustc_baked_icu_data`. This is mostly an internal and bugfix update. It notably includes https://github.com/unicode-org/icu4x/pull/2834 to fix the future compatibility warning for [`BYTE_SLICE_IN_PACKED_STRUCT_WITH_DERIVE`](https://github.com/rust-lang/rust/issues/107457). [full changelog](https://github.com/unicode-org/icu4x/blob/icu%401.1.0/CHANGELOG.md)
2023-02-14Rollup merge of #107626 - jyn514:x-fix, r=Mark-SimulacrumMatthias Krüger-0/+4
Fix `x fix` on the standard library itself Fixes https://github.com/rust-lang/rust/issues/107501
2023-02-14Rollup merge of #107573 - cuviper:drop-llvm-13, r=nagisaMatthias Krüger-218/+58
Update the minimum external LLVM to 14 With this change, we'll have stable support for LLVM 14 through 16 (pending release). For reference, the previous increase to LLVM 13 was #100460.
2023-02-14Auto merge of #108052 - matthiaskrgr:rollup-p6r6rnl, r=matthiaskrgrbors-443/+918
Rollup of 10 pull requests Successful merges: - #103478 ( Suggest fix for misplaced generic params on fn item #103366 ) - #107739 (Check for overflow in evaluate_canonical_goal) - #108003 (Avoid ICE when the generic_span is empty) - #108016 ("Basic usage" is redundant for there is just one example) - #108023 (Shrink size of array benchmarks) - #108024 (add message to update Cargo.toml when x is changed) - #108025 (rustdoc: add more tooltips to intra-doc links) - #108029 (s/eval_usize/eval_target_usize/ for clarity) - #108035 (Avoid using a dead email address as the main email address) - #108038 (Remove needless supertrait constraints from Interner projections) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
2023-02-14Rollup merge of #108038 - eggyal:remove_needless_supertrait_constraints, r=lcnrMatthias Krüger-25/+25
Remove needless supertrait constraints from Interner projections These associated types are already all constrained to implement `Ord`, so specifically requiring its supertraits `Eq`, `PartialEq` and `PartialOrd` is superfluous.
2023-02-14Rollup merge of #108035 - oli-obk:oli_new_contributor_funkiness, ↵Matthias Krüger-12/+12
r=Mark-Simulacrum Avoid using a dead email address as the main email address This caused highfive to welcome me as a new contributor on every PR, because it couldn't find any commits of mine.
2023-02-14Rollup merge of #108029 - oli-obk:🞋_usize, r=RalfJungMatthias Krüger-259/+347
s/eval_usize/eval_target_usize/ for clarity r? `@nnethercote` as discussed in https://rust-lang.zulipchat.com/#narrow/stream/131828-t-compiler/topic/.60Const.60.20and.20.60usize.60.2F.60u64.60 it is unclear what `usize` means and why we use a `u64` for something talking about `usize`. This renaming should make it clear that we're talking about `usize`s on the target platform, irrespective of the compiler host platform.
2023-02-14Rollup merge of #108025 - notriddle:notriddle/intra-doc-link-tooltips, ↵Matthias Krüger-9/+52
r=GuillaumeGomez rustdoc: add more tooltips to intra-doc links This commit makes intra-doc link tooltips consistent with generated links in function signatures and item tables, with the format `itemtype foo::bar::baz`. This way, you can tell if a link points at a trait or a type (for example) by mousing over it. See also https://github.com/rust-lang/rust/pull/39697 Partially solves https://internals.rust-lang.org/t/rustdoc-suggestion-highlight-links-fn-s-mod-s-type-s-etc-appropriately-within-and-documentation/17931 (though the Internals thread asks for color-coding, while this PR adds a tooltip instead, it's accomplishing the same thing). Before: <img width="950" alt="image" src="https://user-images.githubusercontent.com/1593513/218653059-911cea01-7231-438a-ad98-be98ab73783f.png"> After: <img width="432" alt="image" src="https://user-images.githubusercontent.com/1593513/218653201-34ca3aa7-18f1-4cb1-be68-a1411bbe797e.png">
2023-02-14Rollup merge of #108024 - zephaniahong:master, r=jyn514Matthias Krüger-0/+3
add message to update Cargo.toml when x is changed `@jyn514` Is this correct? As mentioned in #108021
2023-02-14Rollup merge of #108023 - JulianKnodt:smaller_benchmark, r=workingjubileeMatthias Krüger-5/+5
Shrink size of array benchmarks Might've overdone it with the size of these benchmarks, as there's no need for them to be quite as large. Fixes #108011
2023-02-14Rollup merge of #108016 - tshepang:just-one-example, r=thomccMatthias Krüger-42/+0
"Basic usage" is redundant for there is just one example
2023-02-14Rollup merge of #108003 - chenyukang:yukang/fix-107998, r=compiler-errorsMatthias Krüger-1/+48
Avoid ICE when the generic_span is empty Fixes #107998 r? ```@TaKO8Ki```
2023-02-14Rollup merge of #107739 - spastorino:check-overflow-evaluate_canonical_goal, ↵Matthias Krüger-88/+139
r=lcnr Check for overflow in evaluate_canonical_goal r? `@lcnr`
2023-02-14Rollup merge of #103478 - SpanishPear:spanishpear/issue_103366_fix, r=TaKO8KiMatthias Krüger-2/+287
Suggest fix for misplaced generic params on fn item #103366 fixes #103366 This still has some work to go, but works for 2/3 of the initial base cases described in #1033366 simple fn: ``` error: expected identifier, found `<` --> shreys/test_1.rs:1:3 | 1 | fn<T> id(x: T) -> T { x } | ^ expected identifier | help: help: place the generic parameter list after the function name: | 1 | fn id<T>(x: T) -> T { x } | ~~~~ ``` Complicated bounds ``` error: expected identifier, found `<` --> spanishpear/test_2.rs:1:3 | 1 | fn<'a, B: 'a + std::ops::Add<Output = u32>> f(_x: B) { } | ^ expected identifier | help: help: place the generic parameter list after the function name: | 1 | fn f<'a, B: 'a + std::ops::Add<Output = u32>>(_x: B) { } | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ``` Opening a draft PR for comments on approach, particularly I have the following questions: - [x] Is it okay to be using `err.span_suggestion` over struct derives? I struggled to get the initial implementation (particularly the correct suggestion message) on struct derives, although I think given what I've learned since starting, I could attempt re-doing it with that approach. - [x] in the case where the snippet cannot be obtained from a span, is the `help` but no suggestion okay? I think yes (also, when does this case occur?) - [x] are there any red flags for the generalisation of this work for relevant item kinds (i.e. `struct`, `enum`, `trait`, and `union`). My basic testing indicates it does work for those types except the help tip is currently hardcoded to `after the function name` - which should change dependent on the item. - [x] I am planning to not show the suggestion if there is already a `<` after the item identifier, (i.e. if there are already generics, as after a function name per the original issue). Any major objections? - [x] Is the style of error okay? I wasn't sure if there was a way to make it display nicer, or if thats handled by span_suggestion These aren't blocking questions, and I will keep working on: - check if there is a `<` after the ident (and if so, not showing the suggestion) - generalize the help message - figuring out how to write/run/etc ui tests (including reading the docs for them) - logic cleanups
2023-02-14Use derive attributes for uninteresting traversalsAlan Egerton-24/+66
2023-02-14interpret: rename Pointer::from_addr → from_addr_invalidRalf Jung-6/+8
2023-02-14Reduce visibility of some itemsSantiago Pastorino-9/+9
2023-02-14Check for overflow in evaluate_canonical_goalSantiago Pastorino-24/+46
2023-02-14Refactor refcounted structural_impls via functorsAlan Egerton-69/+55
2023-02-14Ord entails its supertraitsAlan Egerton-25/+25
2023-02-14change the `marker` attribute to only_locallcnr-2/+6
2023-02-14add test for coinduction in new solverlcnr-2/+80
2023-02-14add a `#[rustc_coinductive]` attributelcnr-33/+44
2023-02-14Avoid using a dead email address as the main email addressOli Scherer-12/+12
2023-02-14Auto merge of #103695 - LYF1999:yf/103563, r=lcnrbors-1/+121
fix: Unexpected trait bound not satisfied in HRTB and Associated Type fix https://github.com/rust-lang/rust/issues/103563
2023-02-14s/eval_usize/eval_target_usize/ for clarityOli Scherer-259/+347
2023-02-14change file path and improve messageZephaniah Ong-2/+2
2023-02-14Auto merge of #107765 - petrochenkov:nomoclone, r=oli-obkbors-325/+102
rustc/rustdoc: Perform name resolver cleanups enabled by #94857 Unblocks https://github.com/rust-lang/rust/pull/105462. r? `@oli-obk`
2023-02-13rustdoc: add more tooltips to intra-doc linksMichael Howell-9/+52
This commit makes intra-doc link tooltips consistent with generated links in function signatures and item tables, with the format `itemtype foo::bar::baz`. This way, you can tell if a link points at a trait or a type (for example) by mousing over it. See also fce944d4e79b3a87ddf511206724edf33acfd704
2023-02-14add message to update Cargo.toml when x is changedZephaniah Ong-0/+3
2023-02-14Shrink size of array benchmarkskadmin-5/+5
2023-02-14Fix #107998, avoid ICE when the generic_span is emptyyukang-1/+48
2023-02-14Auto merge of #107993 - weihanglo:update-cargo, r=weihanglobors-34/+45
Update cargo 10 commits in 82c3bb79e3a19a5164e33819ef81bfc2c984bc56..39c13e67a5962466cc7253d41bc1099bbcb224c3 2023-02-04 22:52:16 +0000 to 2023-02-12 02:01:08 +0000 - chore: Update to toml v0.6, toml_edit v0.18 (rust-lang/cargo#11618) - doc: more doc comments and intra-doc links (rust-lang/cargo#11703) - Deny warnings in CI, not locally (rust-lang/cargo#11699) - add comment to lto.rs (rust-lang/cargo#11701) - Re-export cargo_new::NewProjectKind as public (rust-lang/cargo#11700) - Add '-C' flag for changing current dir before build (rust-lang/cargo#10952) - `-Zrustdoc-scrape-example` must fail with bad build script (rust-lang/cargo#11694) - Update CHANGELOG for 1.68 backports (rust-lang/cargo#11690) - Update 1password to the version 2 CLI (rust-lang/cargo#11692) - chore: autolabel more for `A-*` (rust-lang/cargo#11679) r? `@ghost`
2023-02-14"Basic usage" is redundant for there is just one exampleTshepang Mbambo-42/+0
2023-02-13Auto merge of #108015 - matthiaskrgr:rollup-qerohjn, r=matthiaskrgrbors-263/+316
Rollup of 8 pull requests Successful merges: - #107902 (fix: improve the suggestion on future not awaited) - #107913 (Update broken link in cargo style guide) - #107942 (Tighter spans for bad inherent `impl` self types) - #107948 (Allow shortcuts to directories to be used for ./x.py fmt) - #107971 (Clearly document intentional UB in mir-opt tests) - #107985 (Added another error to be processed in fallback) - #108002 (Update books) - #108013 (rustdoc: use a string with one-character codes for search index types) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
2023-02-13Rollup merge of #108013 - notriddle:notriddle/search-index-itemtype, ↵Matthias Krüger-5/+16
r=GuillaumeGomez rustdoc: use a string with one-character codes for search index types $ wc -c search-index.old.js search-index.new.js 3940530 search-index.old.js 3843222 search-index.new.js ((3940530-3843222)/3940530)*100 = 2.47% $ wc -c search-index.old.js.gz search-index.new.js.gz 380251 search-index.old.js.gz 379434 search-index.new.js.gz ((380251-379434)/380251)*100 = 0.214%
2023-02-13Rollup merge of #108002 - rustbot:docs-update, r=ehussMatthias Krüger-0/+0
Update books ## rust-lang/book 2 commits in f2a78f64b668f63f581203c6bac509903f7c00ee..d94e03a18a2590ed3f1c67b859cb11528d2a2d5c 2023-02-10 16:01:09 UTC to 2023-02-10 15:55:43 UTC - Update to Rust 1.67.1 - Update to Rust 1.66.1 ## rust-embedded/book 1 commits in f1a4614aa41cc544b91b79760a709e113f3451d7..701d1551429da4cb609082c0ac99df569e336710 2023-01-31 12:32:49 UTC to 2023-01-31 12:32:49 UTC - fix: Circled Image not visible on B&W E-Ink screen (rust-embedded/book#339) ## rust-lang/nomicon 2 commits in bd1829d235296952bf72ca55635e360584b8805e..79b53665a7c61d171fb8c5ad0b73b371f9ee6ba7 2023-02-13 08:40:24 UTC to 2023-02-07 09:43:03 UTC - Fixes double bug in Send-Sync example (rust-lang/nomicon#401) - Small language fix in subtyping.md (rust-lang/nomicon#399) ## rust-lang/reference 4 commits in 22882fb3f7b4d69fdc0d1731e8b9cfcb6910537d..e5adb99c04817b7fbe08f4ffce5b36702667345f 2023-02-08 18:09:03 UTC to 2023-02-01 03:49:46 UTC - Eliminate 'half open' terminology from range pattern grammar (rust-lang/reference#1330) - fix place expression context example (rust-lang/reference#1327) - remove confusing words (rust-lang/reference#1324) - Reword "expression for a match arm" (rust-lang/reference#1325) ## rust-lang/rust-by-example 5 commits in 134376872e8c387ef369507e0ee9b5a0e3272718..efe23c4fe12e06351b8dc8c3d18312c761455109 2023-02-06 11:32:23 UTC to 2023-01-31 16:38:03 UTC - fix irrelevant comments (rust-lang/rust-by-example#1676) - remove redudant code (rust-lang/rust-by-example#1675) - Line comments: change 'inside' to 'after' (rust-lang/rust-by-example#1674) - fix incorrect trait bound demonstration (rust-lang/rust-by-example#1673) - fix "High Order Functions" typo (rust-lang/rust-by-example#1672) ## rust-lang/rustc-dev-guide 14 commits in e359ee27fc3da3356d71a732128c0a1abe02e53a..41a96ab971cb45e2a184df20619ad1829765c990 2023-02-11 06:41:56 UTC to 2023-01-31 18:42:30 UTC - Add a citation file (rust-lang/rustc-dev-guide#1550) - Improve git submodule help (rust-lang/rustc-dev-guide#1587) - update examples for rustc 1.69.0-nightly (e1eaa2d5d 2023-02-06) (rust-lang/rustc-dev-guide#1590) - Replace settings.json with x.py setup note (rust-lang/rustc-dev-guide#1588) - Do not add accept header on linkcheck (rust-lang/rustc-dev-guide#1586) - Fixed small grammar mistake in monomorph.md (rust-lang/rustc-dev-guide#1585) - update bootstrap guide (rust-lang/rustc-dev-guide#1583) - Use host symlink for custom rustup toolchain (rust-lang/rustc-dev-guide#1580) - Fix broken links (rust-lang/rustc-dev-guide#1577) - Add section on comparing types (rust-lang/rustc-dev-guide#1570) - Update rustfmt path (rust-lang/rustc-dev-guide#1574) - fix wrong heading level (rust-lang/rustc-dev-guide#1573) - fix incorrect position of `Clarification of build command's stdout` (rust-lang/rustc-dev-guide#1572) - extend bootstrap related documentations (rust-lang/rustc-dev-guide#1563)
2023-02-13Rollup merge of #107985 - alesito85:master, r=ChrisDentonMatthias Krüger-1/+6
Added another error to be processed in fallback This pull request addresses the problem of Rust not being able to read file/directory metadata because the current user doesn't have permission to read the file and are thus inaccessible. One particular example is `System Volume Information`. But any example can be made by having a file/directory, which the current user can't access even though the system does allow to view the metadata, which is handled by the fallback. The fallback exists to get the metadata but it was limited to one error type. Having added ERROR_ACCESS_DENIED per Chris Denton's suggestion, file/directory properties are now properly read. Solution suggested by Chris Denton https://github.com/nushell/nushell/issues/6857#issuecomment-1426847135
2023-02-13Rollup merge of #107971 - saethlin:mir-opt-ub, r=cjgillotMatthias Krüger-27/+49
Clearly document intentional UB in mir-opt tests All of the changed mir-opt test input files did not pass Miri. Now they do. r? `@cjgillot` because there's a CopyProp test in here that I do not fully understand
2023-02-13Rollup merge of #107948 - jieyouxu:issue-107944, r=ozkanonurMatthias Krüger-2/+38
Allow shortcuts to directories to be used for ./x.py fmt Fixes #107944. Maximum recursive search depth is 3 and only accepts shortcuts for directories. If there are no shortcut candidates, the previous behavior to panic is preserved. If there are multiple candidates, the shortcut candidates are ignored. After this change, `./x.py fmt std` no longer panics and formats `library/std` instead.