about summary refs log tree commit diff
AgeCommit message (Collapse)AuthorLines
2022-08-09suggest adding an appropriate missing pattern excluding commentsTakayuki Maeda-14/+57
2022-08-07Auto merge of #100245 - matthiaskrgr:rollup-tfoo650, r=matthiaskrgrbors-243/+555
Rollup of 6 pull requests Successful merges: - #100019 (Revive suggestions for boxed trait objects instead of impl Trait) - #100038 (Document the `no-std` target option in config.toml.example) - #100194 (Remove even more box syntax uses from src/test) - #100206 (test: skip terminfo parsing in Miri) - #100230 (Use start_point instead of next_point to point to elided lifetime amp…) - #100244 (Add armv4t-none-eabi take2) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
2022-08-07Rollup merge of #100244 - Lokathor:add-armv4t-none-eabi-take2, r=jackh726Matthias Krüger-0/+125
Add armv4t-none-eabi take2 This is the same as the previous PR (https://github.com/rust-lang/rust/pull/99226) but i just made a fresh branch without a merge commit in it. --- ### armv4t-none-eabi target quiz > A tier 3 target must have a designated developer or developers (the "target maintainers") on record to be CCed when issues arise regarding the target. That's me! > Targets must use naming consistent with any existing targets We're using the existing name as recognized by LLVM and GCC > Tier 3 targets may have unusual requirements to build or use, but must not create legal issues or impose onerous legal terms for the Rust project or for Rust developers or users. No legal issues here. >> The target must not introduce license incompatibilities. No license requirements here. >> Anything added to the Rust repository must be under the standard Rust license (MIT OR Apache-2.0). check >> The target must not cause the Rust tools or libraries built for any other host (even when supporting cross-compilation to the target) to depend on any new dependency less permissive than the Rust licensing policy. no new deps, we're just adding a rustc target description file for a target llvm already knows about. >> Compiling, linking, and emitting functional binaries, libraries, or other code for the target (whether hosted on the target itself or cross-compiling from another target) must not depend on proprietary (non-FOSS) libraries. bare-metal target, doesn't rely on any libs at all. > Tier 3 targets should attempt to implement as much of the standard libraries as possible and appropriate `core` only here. You could build `alloc` too, but you'd have to bring your own global allocator. > The target must provide documentation for the Rust community explaining how to build for the target, using cross-compilation if possible. LLVM knows how to do it, you just need the GNU Binutils linker because LLVM's linker doesn't work that far back. That's in the docs as part of this PR. > Tier 3 targets must not impose burden on the authors of pull requests, or other developers in the community, to maintain the target. No burdens, LLVM already knows how to do this. Further, because this is a cpu-feature variant of an existing tier3 target the `compiler-builtins` crate has already been updated as necessary to fix any missing builtin function gaps. > Patches adding or updating tier 3 targets must not break any existing tier 2 or tier 1 target, and must not knowingly break another tier 3 target without approval of either the compiler team or the maintainers of the other tier 3 target. check.
2022-08-07Rollup merge of #100230 - cjgillot:noice-multibyte-amp, r=compiler-errorsMatthias Krüger-2/+35
Use start_point instead of next_point to point to elided lifetime amp… Using `next_point` creates a span which points inside the multibyte token, ICEing. Fixes https://github.com/rust-lang/rust/issues/100224
2022-08-07Rollup merge of #100206 - RalfJung:miri-terminfo, r=thomccMatthias Krüger-0/+20
test: skip terminfo parsing in Miri Terminfo parsing takes a significant amount of time in Miri, making libtest startup very slow. To work around that Miri in fact unsets the `TERM` variable. However, this means we don't get colors in `cargo miri test`. So I propose we add some logic in libtest that skips parsing terminfo files under Miri, and just uses the regular basic coloring commands (taken from the `colored` crate). As far as I can see, these two commands are all that libtest ever needs from terminfo, so Miri doesn't even lose any functionality through this. If you want I can entirely remove the terminfo parsing code and just use these commands instead. Cc https://github.com/rust-lang/miri/issues/2292 `@saethlin`
2022-08-07Rollup merge of #100194 - est31:box_syntax_tests, r=Mark-SimulacrumMatthias Krüger-212/+154
Remove even more box syntax uses from src/test Prior work, notably #88316 has removed box syntax from most of the testsuite. However, some tests were left out. This commit removes box_syntax uses from more locations in src/test. This migrates the tests where `box` is mostly an "implementation detail" and not the primary thing being tested by the test. Furthermore, some tests from the mir-opt test suite are not being migrated.
2022-08-07Rollup merge of #100038 - nicholasbishop:bishop-add-no-std, r=Mark-SimulacrumMatthias Krüger-0/+4
Document the `no-std` target option in config.toml.example
2022-08-07Rollup merge of #100019 - ↵Matthias Krüger-29/+217
TaKO8Ki:suggest-boxed-trait-objects-instead-of-impl-trait, r=compiler-errors Revive suggestions for boxed trait objects instead of impl Trait The suggestion implemented in #75608 was not working properly, so I fixed it.
2022-08-07Auto merge of #100218 - nicholasbishop:bishop-update-cb, r=Mark-Simulacrumbors-2/+2
Update compiler_builtins to 0.1.78 Among other things, this pulls in https://github.com/rust-lang/compiler-builtins/pull/475, which fixes some i128/u128 arithmetic operations on the `x86_64-unknown-uefi` target.
2022-08-07Update SUMMARY.mdLokathor-0/+1
2022-08-07Create armv4t_none_eabi.mdLokathor-0/+70
2022-08-07Create armv4t_none_eabi.rsLokathor-0/+54
2022-08-07Auto merge of #99833 - andrewpollack:fuchsia-rust-ci-zircon-lib-improvement, ↵bors-53/+65
r=Mark-Simulacrum Fuchsia CI zircon lib improvement Removing Zircon build process, instead pulling `sysroot` and related libs directly from Fuchsia SDK cc. `@tmandry` `@djkoloski`
2022-08-07test: skip terminfo parsing in MiriRalf Jung-0/+20
2022-08-07Shifting CI to pull Zircon libraries directly from Fuchsia SDKAndrew Pollack-53/+65
PR feedback PR Followups Updating clang download Updating clang download Restructuring env used Restructuring env used Adding chmod Adding chmod Adding chmod
2022-08-07Auto merge of #99983 - RalfJung:more-layout-checks, r=eddybbors-110/+309
More layout sanity checks r? `@eddyb`
2022-08-07Use start_point instead of next_point to point to elided lifetime ampersand.Camille GILLOT-2/+35
2022-08-07fix wrong suggestions for boxed trait objects instead of impl traitTakayuki Maeda-31/+122
2022-08-07revive suggestions for boxed trait objects instead of impl TraitTakayuki Maeda-2/+99
2022-08-07Auto merge of #100091 - chenyukang:add-check-for-link-ordinal, ↵bors-0/+75
r=michaelwoerister Check link ordinal to make sure it is targetted for foreign function Fix #100009, when link ordinal is not target for foreign functions, emit an error. cc `@dpaoliello`
2022-08-07Auto merge of #100004 - jyn514:exclude-single-test, r=Mark-Simulacrumbors-14/+5
Move `x test --skip` to be part of `--exclude` `--skip` is inconsistent with the rest of the interface and redundant with `--exclude`. Fix --exclude to work properly for files and directories rather than having a separate flag. Fixes https://github.com/rust-lang/rust/issues/96342. cc https://github.com/rust-lang/rust/pull/96493#issuecomment-1200521720 r? `@Mark-Simulacrum`
2022-08-07Remove even more box syntax uses from src/testest31-212/+154
Prior work, notably 6550021124451628b1efc60c59284465b109e3aa from #88316 has removed box syntax from most of the testsuite. However, some tests were left out. This commit removes box_syntax uses from more locations in src/test. Some tests that are very box syntax specific are not being migrated.
2022-08-06Update compiler_builtins to 0.1.78Nicholas Bishop-2/+2
2022-08-06Auto merge of #100213 - matthiaskrgr:rollup-mqe7t1n, r=matthiaskrgrbors-219/+266
Rollup of 5 pull requests Successful merges: - #100071 (deps: dedupe `annotate-snippets` crate versions) - #100127 (Remove Windows function preloading) - #100130 (Avoid pointing out `return` span if it has nothing to do with type error) - #100169 (Optimize `pointer::as_aligned_to`) - #100175 (ascii -> ASCII in code comment) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
2022-08-07Rollup merge of #100175 - fxn:patch-1, r=Mark-SimulacrumMatthias Krüger-1/+1
ascii -> ASCII in code comment Easy one I spotted while reading source code.
2022-08-07Rollup merge of #100169 - WaffleLapkin:optimize_is_aligned_to, r=workingjubileeMatthias Krüger-8/+2
Optimize `pointer::as_aligned_to` This PR replaces `addr % align` with `addr & align - 1`, which is correct due to `align` being a power of two. Here is a proof that this makes things better: [[godbolt]](https://godbolt.org/z/Wbq3hx6YG). This PR also removes `assume(align != 0)`, with the new impl it does not improve anything anymore ([[godbolt]](https://rust.godbolt.org/z/zcnrG4777), [[original concern]](https://github.com/rust-lang/rust/pull/95643#discussion_r843326903)).
2022-08-07Rollup merge of #100130 - compiler-errors:erroneous-return-span, r=lcnrMatthias Krüger-38/+159
Avoid pointing out `return` span if it has nothing to do with type error This code: ```rust fn f(_: String) {} fn main() { let x = || { if true { return (); } f(""); }; } ``` Emits this: ``` Compiling playground v0.0.1 (/playground) error[E0308]: mismatched types --> src/main.rs:8:11 | 8 | f(""); | ^^- help: try using a conversion method: `.to_string()` | | | expected struct `String`, found `&str` | note: return type inferred to be `String` here --> src/main.rs:6:20 | 6 | return (); | ^^ ``` Specifically, that note has nothing to do with the type error in question. This is because the change implemented in #84244 tries to point out the `return` span on _any_ type coercion error within a closure that happens after a `return` statement, regardless of if the error has anything to do with it. This is really easy to trigger -- just needs a closure (or an `async`) and an early return (or any other form, e.g. `?` operator suffices) -- and super distracting in production codebases. I'm letting #84128 regress because that issue is much harder to fix correctly, and I can re-open that issue after this lands. As a drive-by, I added a `resolve_vars_if_possible` to the coercion error logic, which leads to some error improvements. Unrelated to the issue above, though.
2022-08-07Rollup merge of #100127 - ChrisDenton:remove-init, r=thomccMatthias Krüger-160/+94
Remove Windows function preloading After `@Mark-Simulacrum` asked me to provide guidance for when optionally imported functions should be preloaded, I realised my justifications were now quite weak. I think the strongest argument that can be made is that it avoids some degree of nondeterminism when calling these functions (in as far as system API calls can be said to be deterministic). However, I don't think that's particularly convincing unless there's a real world use case where it matters. Further discussion with `@thomcc` has strengthened my feeling that preloading isn't really needed. Note that `WaitOnAddress` needed some adjustment to work without preloading. I opted not to use a macro for this special case as it seemed silly to do so for just one thing (and I don't like macros tbh).
2022-08-07Rollup merge of #100071 - klensy:annotate-snippets-bump, r=Mark-SimulacrumMatthias Krüger-12/+10
deps: dedupe `annotate-snippets` crate versions Dedupes `annotate-snippets` crate versions (https://github.com/rust-lang/annotate-snippets-rs/blob/0.9.1/CHANGELOG.md). Should work, but there is not a lot of tests. Looks like switching to that crate a bit stalled.
2022-08-06Auto merge of #100117 - nicholasbishop:bishop-update-cc, r=Mark-Simulacrumbors-2/+2
Bump cc version in bootstrap Among other changes, the newer cc release pulls in this fix: https://github.com/rust-lang/cc-rs/commit/b2792e33ff91b92e2e920e54d582b0c334670c37 This fixes errors when building compiler_builtins for UEFI targets.
2022-08-06Document the `no-std` target option in config.toml.exampleNicholas Bishop-0/+4
2022-08-06Auto merge of #99524 - cuviper:relnotes-1.63.0, r=Mark-Simulacrumbors-0/+204
Add release notes for Rust 1.63.0
2022-08-06Auto merge of #100195 - matthiaskrgr:rollup-ovzyyb0, r=matthiaskrgrbors-53/+182
Rollup of 4 pull requests Successful merges: - #100094 (Detect type mismatch due to loop that might never iterate) - #100132 (Use (actually) dummy place for let-else divergence) - #100167 (Recover `require`, `include` instead of `use` in item) - #100193 (Remove more Clean trait implementations) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
2022-08-06Rollup merge of #100193 - GuillaumeGomez:rm-clean-impls, r=notriddleMatthias Krüger-48/+42
Remove more Clean trait implementations Follow-up of https://github.com/rust-lang/rust/pull/99638. r? `@notriddle`
2022-08-06Rollup merge of #100167 - chenyukang:require-suggestion, r=estebankMatthias Krüger-3/+35
Recover `require`, `include` instead of `use` in item Fix #100140
2022-08-06Rollup merge of #100132 - compiler-errors:issue-100103, r=tmiaskoMatthias Krüger-1/+16
Use (actually) dummy place for let-else divergence Fixes #100103
2022-08-06Rollup merge of #100094 - lyming2007:issue-98982, r=estebankMatthias Krüger-1/+89
Detect type mismatch due to loop that might never iterate When loop as tail expression causes a miss match type E0308 error, recursively get the return statement and add diagnostic information on it.
2022-08-06Auto merge of #99893 - compiler-errors:issue-99387, r=davidtwcobors-18/+60
Delay formatting trimmed path until lint/error is emitted Fixes #99387 r? `@davidtwco`
2022-08-06remove Clean trait implementation for hir::PolyTraitRefGuillaume Gomez-7/+1
2022-08-06remove Clean trait implementation for hir::GenericBoundGuillaume Gomez-41/+41
2022-08-06Auto merge of #100172 - Mark-Simulacrum:bump-165, r=Mark-Simulacrumbors-1/+1
Bump to 1.65.0 r? `@Mark-Simulacrum`
2022-08-06Auto merge of #99743 - compiler-errors:fulfillment-context-cleanups, r=jackh726bors-163/+127
Some `FulfillmentContext`-related cleanups Use `ObligationCtxt` in some places, remove some `FulfillmentContext`s in others... r? types
2022-08-05Auto merge of #100035 - workingjubilee:merge-functions, r=nikicbors-4/+9
Enable function merging when opt is for size It is, of course, natural to want to merge aliasing functions when optimizing for code size, since that can eliminate several bytes. And an exhaustive match helps make the code less brittle. Closes #98215.
2022-08-05Enable function merging when opt is for sizeJubilee Young-4/+9
It is, of course, natural to want to merge aliasing functions when optimizing for code size, since that can eliminate several bytes. And an exhaustive match helps make the code less brittle.
2022-08-05implement #98982Yiming Lei-1/+89
when loop as tail expression for miss match type E0308 error, recursively get the return statement and add diagnostic information on it use rustc_hir::intravisit to collect the return expression modified: compiler/rustc_typeck/src/check/coercion.rs new file: src/test/ui/typeck/issue-98982.rs new file: src/test/ui/typeck/issue-98982.stderr
2022-08-05Update RELEASES.mdJosh Stone-1/+1
Co-authored-by: Trevor Spiteri <tspiteri@ieee.org>
2022-08-05Update RELEASES.mdJosh Stone-1/+1
Co-authored-by: Trevor Spiteri <tspiteri@ieee.org>
2022-08-05ascii -> ASCII in code commentXavier Noria-1/+1
2022-08-05move DiagnosticArgFromDisplay into rustc_errorsMichael Goulet-31/+36
2022-08-05Delay formatting trimmed path until lint/error is emittedMichael Goulet-14/+51