about summary refs log tree commit diff
AgeCommit message (Collapse)AuthorLines
2022-08-07Don't ICE while suggesting updating item path.Luqman Aden-6/+9
When an item isn't found, we may suggest an appropriate import to `use`. Along with that, we also suggest updating the path to work with the `use`. Unfortunately, if the code in question originates from a macro, the span used to indicate which part of the path needs updating may not be suitable and cause an ICE. Since, such code is not adjustable directly by the user without modifying the macro, just skip the suggestion in such cases.
2022-08-03Auto merge of #100082 - matthiaskrgr:rollup-ywu4iux, r=matthiaskrgrbors-423/+1103
Rollup of 6 pull requests Successful merges: - #99933 (parallelize HTML checking tool) - #99958 (Improve position named arguments lint underline and formatting names) - #100008 (Update all pre-cloned submodules on startup) - #100049 (:arrow_up: rust-analyzer) - #100070 (Clarify Cargo.toml comments) - #100074 (rustc-docs: Be less specific about the representation of `+bundle`) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
2022-08-03Auto merge of #99509 - lcnr:commit_unconditionally, r=jackh726bors-199/+168
remove `commit_unconditionally` `commit_unconditionally` is a noop unless we somehow inspect the current state of our snapshot. The only thing which does that is the leak check which was only used in one place where `commit_if_ok` is probably at least as, or even more, correct. r? rust-lang/types
2022-08-02Auto merge of #92268 - jswrenn:transmute, r=oli-obkbors-2/+6026
Initial implementation of transmutability trait. *T'was the night before Christmas and all through the codebase, not a miri was stirring — no hint of `unsafe`!* This PR provides an initial, **incomplete** implementation of *[MCP 411: Lang Item for Transmutability](https://github.com/rust-lang/compiler-team/issues/411)*. The `core::mem::BikeshedIntrinsicFrom` trait provided by this PR is implemented on-the-fly by the compiler for types `Src` and `Dst` when the bits of all possible values of type `Src` are safely reinterpretable as a value of type `Dst`. What this PR provides is: - [x] [support for transmutations involving primitives](https://github.com/jswrenn/rust/tree/transmute/src/test/ui/transmutability/primitives) - [x] [support for transmutations involving arrays](https://github.com/jswrenn/rust/tree/transmute/src/test/ui/transmutability/arrays) - [x] [support for transmutations involving structs](https://github.com/jswrenn/rust/tree/transmute/src/test/ui/transmutability/structs) - [x] [support for transmutations involving enums](https://github.com/jswrenn/rust/tree/transmute/src/test/ui/transmutability/enums) - [x] [support for transmutations involving unions](https://github.com/jswrenn/rust/tree/transmute/src/test/ui/transmutability/unions) - [x] [support for weaker validity checks](https://github.com/jswrenn/rust/blob/transmute/src/test/ui/transmutability/unions/should_permit_intersecting_if_validity_is_assumed.rs) (i.e., `Assume::VALIDITY`) - [x] visibility checking What isn't yet implemented: - [ ] transmutability options passed using the `Assume` struct - [ ] [support for references](https://github.com/jswrenn/rust/blob/transmute/src/test/ui/transmutability/references.rs) - [ ] smarter error messages These features will be implemented in future PRs.
2022-08-02Rollup merge of #100074 - petrochenkov:bundledoc, r=bjorn3Matthias Krüger-3/+3
rustc-docs: Be less specific about the representation of `+bundle` For https://github.com/rust-lang/rust/issues/99429. r? `@bjorn3`
2022-08-02Rollup merge of #100070 - mqudsi:99768_revisited, r=RalfJungMatthias Krüger-4/+3
Clarify Cargo.toml comments Existing comments were left in an incoherent state after #99768. r? `@RalfJung`
2022-08-02Rollup merge of #100049 - lnicola:rust-analyzer-2022-08-02, r=lnicolaMatthias Krüger-241/+765
:arrow_up: rust-analyzer r? `@ghost`
2022-08-02Rollup merge of #100008 - jyn514:eager-submodules, r=bjorn3Matthias Krüger-18/+2
Update all pre-cloned submodules on startup Fixes https://github.com/rust-lang/rust/issues/99083
2022-08-02Rollup merge of #99958 - PrestonFrom:issue_99907, r=compiler-errorsMatthias Krüger-136/+303
Improve position named arguments lint underline and formatting names For named arguments used as implicit position arguments, underline both the opening curly brace and either: * if there is formatting, the next character (which will either be the closing curl brace or the `:` denoting the start of formatting args) * if there is no formatting, the entire arg span (important if there is whitespace like `{ }`) This should make it more obvious where the named argument should be. Additionally, in the lint message, emit the formatting argument names without a dollar sign to avoid potentially confusion. Fixes #99907
2022-08-02Rollup merge of #99933 - alex:parallel-html-checking, r=Mark-SimulacrumMatthias Krüger-21/+27
parallelize HTML checking tool there's a lot of IO, so timings on my laptop are far from stable, but it seems to be considerably faster. this step often appears to take 5+ minutes in CI, so hopefully this offers a speedup
2022-08-02rustc-docs: Be less specific about the representation of `+bundle`Vadim Petrochenkov-3/+3
2022-08-02Clarify Cargo.toml commentsMahmoud Al-Qudsi-4/+3
Existing comments were left in an incoherent state after #99768.
2022-08-02Auto merge of #100063 - matthiaskrgr:rollup-lznouys, r=matthiaskrgrbors-150/+185
Rollup of 7 pull requests Successful merges: - #99987 (Always include a position span in `rustc_parse_format::Argument`) - #100005 (Remove Clean trait for ast::Attribute and improve Attributes::from_ast) - #100025 (Remove redundant `TransferWrapper` struct) - #100045 (Properly reject the `may_unwind` option in `global_asm!`) - #100052 (RISC-V ASM test: relax label name constraint.) - #100053 (move [`assertions_on_result_states`] to restriction) - #100057 (Remove more Clean trait implementations) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
2022-08-02Rollup merge of #100057 - GuillaumeGomez:rm-more-clean-impl, r=Dylan-DPCMatthias Krüger-34/+28
Remove more Clean trait implementations Follow-up of https://github.com/rust-lang/rust/pull/99638. r? ``@notriddle``
2022-08-02Rollup merge of #100053 - flip1995:clippy_backport, r=xFrednetMatthias Krüger-3/+5
move [`assertions_on_result_states`] to restriction "Backports" the first commit of https://github.com/rust-lang/rust-clippy/pull/9273, so that the lint doesn't go into beta as a warn-by-default lint. The other changes in the linked PR can ride the train as usual. r? ``@xFrednet`` (only Clippy changes, so we don't need to bother compiler people) --- For Clippy: changelog: none
2022-08-02Rollup merge of #100052 - TimNN:patch-1, r=nikicMatthias Krüger-1/+1
RISC-V ASM test: relax label name constraint. The test is currently [broken at LLVM Head](https://buildkite.com/llvm-project/rust-llvm-integrate-prototype/builds/12425#01825d5b-c3d1-4fdc-a98d-5956b246aee2), likely since https://github.com/llvm/llvm-project/commit/260a64106854986a981e49ed87ee740460a23eb5: ```plain /var/lib/buildkite-agent/builds/rust-llvm-integrate/llvm-project/rust-llvm-integrate-prototype/src/test/assembly/asm/riscv-types.rs:59:11: error: CHECK: expected string not found in input --   | // CHECK: lb t0, %pcrel_lo(.Lpcrel_hi0)(t0)   | ^   | /var/lib/buildkite-agent/builds/rust-llvm-integrate/llvm-project/rust-llvm-integrate-prototype/build/x86_64-unknown-linux-gnu/test/assembly/asm/riscv-types.riscv64/riscv-types.s:24:36: note: scanning from here   | auipc t0, %pcrel_hi(extern_static)   | ^   | /var/lib/buildkite-agent/builds/rust-llvm-integrate/llvm-project/rust-llvm-integrate-prototype/build/x86_64-unknown-linux-gnu/test/assembly/asm/riscv-types.riscv64/riscv-types.s:25:2: note: possible intended match here   | lb t0, %pcrel_lo(.Lpcrel_hi18)(t0)   | ^ ``` As far as I can tell, the exact index in the label probably doesn't matter for the test, especially if LLVM can change it to ~arbitrary values, though I'm not an ASM or RISC-V expert. This [fixes the test](https://buildkite.com/llvm-project/rust-llvm-integrate-prototype/builds/12427).
2022-08-02Rollup merge of #100045 - Amanieu:global_asm_may_unwind, r=tmiaskoMatthias Krüger-38/+38
Properly reject the `may_unwind` option in `global_asm!` This was accidentally accepted even though it had no effect in `global_asm!`. The option only makes sense for `asm!` which runs within a function.
2022-08-02Rollup merge of #100025 - tmiasko:rm-transfer-wrapper, r=cjgillotMatthias Krüger-14/+2
Remove redundant `TransferWrapper` struct
2022-08-02Rollup merge of #100005 - GuillaumeGomez:cleanup-ast-attr-clean, r=notriddleMatthias Krüger-19/+15
Remove Clean trait for ast::Attribute and improve Attributes::from_ast I prefer to keep this commit on its own for this PR because I'm changing a bit more things than expected originally: I split `Attributes::from_ast` into two because there is only one location making use of its second parameter. Follow-up of https://github.com/rust-lang/rust/pull/99638. r? `@notriddle`
2022-08-02Rollup merge of #99987 - Alexendoo:parse-format-position-span, r=fee1-deadMatthias Krüger-41/+96
Always include a position span in `rustc_parse_format::Argument` Moves the spans from the `Position` enum to always be included in the `Argument` struct. Doesn't make any changes to use it in rustc, but it will be useful for some upcoming Clippy lints
2022-08-02safe transmute: fix broken intradoc linkJack Wrenn-2/+2
2022-08-02Auto merge of #100032 - BoxyUwU:no_ty_in_placeholder_const, r=compiler-errorsbors-19/+21
make `PlaceholderConst` not store the type of the const Currently the `Placeholder` variant on `ConstKind` is 28 bytes when with this PR its 8 bytes, i am not sure this is really useful at all rn since `Unevaluated` and `Value` variants are huge still but eventually it should be possible to get both down to 16 bytes :thinking:. Mostly opening this to see if this change has any perf impact when done before it can make `ConstKind`/`ConstS` smaller
2022-08-02Remove Clean trait implementation for ast::Attribute and cleanup ↵Guillaume Gomez-19/+15
Attributes::from_ast function by splitting it in two
2022-08-02Remove Clean trait implementation for hir::LifetimeGuillaume Gomez-20/+20
2022-08-02Remove Clean trait implementation for ty::TraitRefGuillaume Gomez-14/+8
2022-08-02Auto merge of #99977 - BlackHoleFox:cfte-cstr, r=thomccbors-13/+34
Add validation to const fn CStr creation Improves upon the existing validation that only worked when building the stdlib from source. `CStr::from_bytes_with_nul_unchecked` now utilizes `const_eval_select` to validate the safety requirements of the function when used as `const FOO: &CStr = CStr::from_bytes_with_nul_unchecked(b"Foobar\0");`. This can help catch erroneous code written by accident and, assuming a new enough `rustc` in use, remove the need for boilerplate safety comments for this function in `const` contexts. ~~I think this might need a UI test, but I don't know where to put it. If this is a worth change, a perf run would be nice to make sure the `O(n)` validation isn't too bad. I didn't notice a difference building the stdlib tests locally.~~
2022-08-02move [`assertions_on_result_states`] to restrictiontabokie-3/+5
Signed-off-by: tabokie <xy.tao@outlook.com>
2022-08-02RISC-V ASM test: relax label name constraint.Tim Neumann-1/+1
2022-08-02Move if-block into closure to reduce duplicate codePreston From-7/+5
2022-08-02Improve position named arguments lint underline and formatting namesPreston From-136/+305
For named arguments used as implicit position arguments, underline both the opening curly brace and either: * if there is formatting, the next character (which will either be the closing curl brace or the `:` denoting the start of formatting args) * if there is no formatting, the entire arg span (important if there is whitespace like `{ }`) This should make it more obvious where the named argument should be. Additionally, in the lint message, emit the formatting argument names without a dollar sign to avoid potentially confusion. Fixes #99907
2022-08-02Auto merge of #100048 - matthiaskrgr:rollup-agimvm6, r=matthiaskrgrbors-320/+414
Rollup of 8 pull requests Successful merges: - #99156 (`codegen_fulfill_obligation` expect erased regions) - #99293 (only run --all-targets in stage0 for Std) - #99779 (Fix item info pos and height) - #99994 (Remove `guess_head_span`) - #100011 (Use Parser's `restrictions` instead of `let_expr_allowed`) - #100017 (kmc-solid: Update `Socket::connect_timeout` to be in line with #78802) - #100037 (Update rustc man page to match `rustc --help`) - #100042 (Update books) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
2022-08-02:arrow_up: rust-analyzerLaurențiu Nicola-241/+765
2022-08-02Rollup merge of #100042 - ehuss:update-books, r=ehussMatthias Krüger-0/+0
Update books ## reference 2 commits in a92be0fef439b3d8e0468d82cb24812d303520a0..f3d3953bf3b158d596c96d55ce5366f9f3f972e9 2022-07-21 19:01:23 -0700 to 2022-08-01 17:17:37 -0700 - Add `let_chains` references (rust-lang/reference#1179) - Remove outdated warning (rust-lang/reference#1243) ## rust-by-example 18 commits in 3155db49b0d57cd82c65456ac210b69ecec5ccb1..ee342dc91e1ba1bb1e1f1318f84bbe3bfac04798 2022-07-05 20:35:53 -0300 to 2022-07-27 11:06:36 -0300 - Closure inferred twice (rust-lang/rust-by-example#1588) - fix a syntax bug in example assembly (rust-lang/rust-by-example#1511) - Minor grammar change in src/std/rc.md paragraph 2 (rust-lang/rust-by-example#1586) - Fix typo in asm.md (rust-lang/rust-by-example#1585) - Fix incorrect padding in fixed-width print (rust-lang/rust-by-example#1584) - Update print.md (rust-lang/rust-by-example#1582) - add-chapter-on-defaults (rust-lang/rust-by-example#1580) - Fix typo (rust-lang/rust-by-example#1579) - fix a compile error (rust-lang/rust-by-example#1578) - Suggest using mod.rs pattern to share test code (rust-lang/rust-by-example#1577) - fix a compile error in iter_any.md (rust-lang/rust-by-example#1576) - Mention attribute like macros in attributes.md (rust-lang/rust-by-example#1574) - Update exercise to be clearer (rust-lang/rust-by-example#1573) - fixes link for turbofish in testcase_mapreduce.md (rust-lang/rust-by-example#1572) - Fix inconsistency between comment and code in hello/print.md (rust-lang/rust-by-example#1571) - Fixes a typo in print.md (rust-lang/rust-by-example#1570) - into_iter-moves-elements (rust-lang/rust-by-example#1569) - Fix a typo in print.md (rust-lang/rust-by-example#1568) ## rustc-dev-guide 16 commits in d5201cddace979b299ec1bf9fd8997338151aa9d..04f3cf0bb2f5a6ee2bfc4b1a6a6cd8c11d1c5531 2022-07-21 04:48:49 +0200 to 2022-07-31 07:46:57 +0200 - address review comment - accept review suggestion - try address review comments - summary of chapter - Update src/building/compiler-documenting.md - revamp doc-build chapter - minor fixes - Prefer relative links - Fix the link to clippy docs - Fix the link to `ResolverAstLowering` - Fix the link to `ProcMacro` trait - Fix the link to `Lazy&lt;T&gt;` - Add instructions to fix build errors in std after adding a new target - Document how to build a cross-compiler - Add documentation about Microsoft provided debuggers and CodeView/PDB… (rust-lang/rustc-dev-guide#1406) - rust-analyzer is now a subtree ## embedded-book 2 commits in 766979590da8100998f0d662499d4a901d8d1640..befe6840874311635c417cf731377f07234ee373 2022-07-04 09:13:58 +0000 to 2022-07-25 07:51:14 +0000 - Updated instructions for running first Hardware example (rust-embedded/book#323) - Improved ligability for hardware.md (rust-embedded/book#324)
2022-08-02Rollup merge of #100037 - fw-immunant:patch-1, r=jyn514Matthias Krüger-3/+3
Update rustc man page to match `rustc --help` This brings the `--crate-type`, `--emit`, and `--print` options' allowed arguments into sync with that printed by `rustc --help`. c.f. the `opt::multi_s` calls for `"crate-type"`, `"emit"`, and `"print"` here: https://github.com/rust-lang/rust/blob/master/compiler/rustc_session/src/config.rs
2022-08-02Rollup merge of #100017 - solid-rs:patch/kmc-solid/adapt-to-78802, r=thomccMatthias Krüger-2/+2
kmc-solid: Update `Socket::connect_timeout` to be in line with #78802 Fixes the build failure of the [`*-kmc-solid_*`](https://doc.rust-lang.org/nightly/rustc/platform-support/kmc-solid.html) Tier 3 targets after #78802. ``` error[E0308]: mismatched types --> library\std\src\sys\solid\net.rs:234:45 | 234 | cvt(netc::connect(self.0.raw(), addrp, len)) | ------------- ^^^^^ expected *-ptr, found union `SocketAddrCRepr` | | | arguments to this function are incorrect | = note: expected raw pointer `*const sockets::sockaddr` found union `SocketAddrCRepr` note: function defined here --> library\std\src\sys\solid\abi\sockets.rs:173:12 | 173 | pub fn connect(s: c_int, name: *const sockaddr, namelen: socklen_t) -> c_int; | ^^^^^^^ ```
2022-08-02Rollup merge of #100011 - compiler-errors:let-chain-restriction, r=fee1-deadMatthias Krüger-292/+351
Use Parser's `restrictions` instead of `let_expr_allowed` This also means that the `ALLOW_LET` flag is reset properly for subexpressions, so we can properly deny things like `a && (b && let c = d)`. Also the parser is a tiny bit smaller now. It doesn't reject _all_ bad `let` expr usages, just a bit more. cc `@c410-f3r`
2022-08-02Rollup merge of #99994 - TaKO8Ki:remove-guess-head-span, r=fee1-deadMatthias Krüger-7/+5
Remove `guess_head_span` follow-up to #98519
2022-08-02Rollup merge of #99779 - GuillaumeGomez:fix-item-info-pos-and-height, ↵Matthias Krüger-9/+44
r=notriddle Fix item info pos and height Fixes https://github.com/rust-lang/rust/issues/98266. Fixes https://github.com/rust-lang/rust/issues/98343. You can test it [here](https://rustdoc.crud.net/imperio/fix-item-info-pos-and-height/lib2/trait.Trait.html). Here is a screenshot of the result: ![Screenshot from 2022-07-26 21-55-53](https://user-images.githubusercontent.com/3050060/181100624-18b8b045-5c25-4c7c-9c44-97d55d29b675.png) r? `@jsha`
2022-08-02Rollup merge of #99293 - jo3bingham:issue-98720-fix, r=jyn514Matthias Krüger-1/+7
only run --all-targets in stage0 for Std Repro'd the issue with `python3 x.py check --stage 1 library/std` and tested the fix with the same command. r? `@jyn514` I tried to implement [this solution](https://github.com/rust-lang/rust/issues/98720#issuecomment-1184435462), but didn't have any luck. I don't think I fully understood what needed to be done. However, I would love to be mentored on it since it would be a more correct solution, and I can learn more about how bootstrap works.
2022-08-02Rollup merge of #99156 - lcnr:omoe-wa, r=wesleywiserMatthias Krüger-6/+2
`codegen_fulfill_obligation` expect erased regions it's a query, so by erasing regions before calling it, we get better caching. This doesn't actually change anything as its already the status quo.
2022-08-02Properly reject the `may_unwind` option in `global_asm!`Amanieu d'Antras-38/+38
This was accidentally accepted even though it had no effect in `global_asm!`. The option only makes sense for `asm!` which runs within a function.
2022-08-02Auto merge of #99431 - yaahc:error-in-core, r=joshtriplettbors-43/+36
Remove `fn backtrace` and replace with usages of provider API This PR is part of moving error into core and has been split to facilitate review.
2022-08-02remove a `SourceMap::guess_head_span`Takayuki Maeda-7/+5
2022-08-01Update booksEric Huss-0/+0
2022-08-02Auto merge of #100033 - rylev:no-cancel-try-perf, r=Mark-Simulacrumbors-4/+4
Don't cancel try-perf branch if 'outdated' `try-perf` just like the `try` branch should always run all jobs to completion. This allows us to use the branch like a queue. r? `@Mark-Simulacrum`
2022-08-01Don't cancel try-perf branch if 'outdated'Ryan Levick-4/+4
2022-08-01Update rustc man page to match `rustc --help`Frances Wingerter-3/+3
This brings the `--crate-type`, `--emit`, and `--print` options' allowed arguments into sync with that printed by `rustc --help`.
2022-08-01Auto merge of #95884 - cjgillot:assoc-item, r=lcnrbors-403/+354
Thin `AssocItem` This PR removes a few fields from `AssocItem` that should be easily computed using other queries. This simplifies some of the metadata decoding.
2022-08-01remove fn backtraceJane Losare-Lusby-43/+36
2022-08-01Match on TraitItem exhaustively.Camille GILLOT-14/+11