about summary refs log tree commit diff
AgeCommit message (Collapse)AuthorLines
2023-10-20s/Generator/Coroutine/Oli Scherer-1271/+1271
2023-10-20Auto merge of #116951 - compiler-errors:ir-file-structure, r=jackh726bors-1532/+1560
Restructure `rustc_type_ir` a bit 1. Split `sty` into new `ty_kind`/`region_kind`/`const_kind` modules, so that when we uplift more kinds (e.g. `PredicateKind`, `ClauseKind`, and `ExistentialPredicate`), they can live in their own simple-to-understand files. 2. Split up the `structural_impls` module, which is a kitchen sink of random impls -- move `TypeFoldable` and `TypeVisitable` impls into existing `fold` and `visit` modules, respectively. 3. Move the `DebugWithInfcx` trait and blanket impls into a new `debug` module, and `TypeFlags` definition into a new `flags` module. 5. Move `Interner` trait into a new `interner` module. I expect this file to get a lot larger as we make the interner more powerful for the trait solver refactor. r? `@ghost` for now, will assign once #116946 lands
2023-10-20Move some files aroundMichael Goulet-1520/+1548
2023-10-20Adjust importsMichael Goulet-12/+12
2023-10-20Auto merge of #116966 - clarfonthey:atomic-docs-typo, r=workingjubileebors-1/+1
Fix typo in atomic docs Maybe rustdoc or tidy should lint hanging backticks like this.
2023-10-20Auto merge of #116965 - estebank:issue-65329, r=cjgillotbors-37/+85
Move where doc comment meant as comment check The new place makes more sense and covers more cases beyond individual statements. ``` error: expected one of `.`, `;`, `?`, `else`, or an operator, found doc comment `//!foo --> $DIR/doc-comment-in-stmt.rs:25:22 | LL | let y = x.max(1) //!foo | ^^^^^^ expected one of `.`, `;`, `?`, `else`, or an operator | help: add a space before `!` to write a regular comment | LL | let y = x.max(1) // !foo | + ``` Fix #65329.
2023-10-20Auto merge of #116962 - estebank:issue-63835, r=oli-obkbors-1/+8
Do not bold main message in `--error-format=short` Fix #63835. Before: <img width="484" alt="Screenshot 2023-10-19 at 3 52 53 PM" src="https://github.com/rust-lang/rust/assets/1606434/9bd6cbd5-a4ce-4cc3-8c5f-60a8d3ad38da"> After: <img width="492" alt="Screenshot 2023-10-19 at 3 52 32 PM" src="https://github.com/rust-lang/rust/assets/1606434/0cf2417a-08f2-4074-860c-a88a838a4209">
2023-10-20Auto merge of #116946 - compiler-errors:movability-and-mutability, r=lcnrbors-88/+79
Uplift movability and mutability, the simple way Just make type_ir a dependency of ast. This can be relaxed later if we want to make the dependency less heavy. Part of rust-lang/types-team#124. r? `@lcnr` or `@jackh726`
2023-10-20Auto merge of #116899 - compiler-errors:closure-sig-infer, r=lcnrbors-0/+36
Add a test showing failing closure signature inference in new solver Been thinking a bit about how to make this test pass... but we don't actually have any good tests exercising this behavior in the suite. r? lcnr
2023-10-20Fix typo in atomic docsltdk-1/+1
2023-10-20Auto merge of #116785 - nnethercote:spec-Bytes-read, r=the8472bors-15/+60
Specialize `Bytes<R>::next` when `R` is a `BufReader`. This reduces the runtime for a simple program using `Bytes::next` to iterate through a file from 220ms to 70ms on my Linux box. r? `@the8472`
2023-10-20Move where doc comment meant as comment checkEsteban Küber-37/+85
The new place makes more sense and covers more cases beyond individual statements. ``` error: expected one of `.`, `;`, `?`, `else`, or an operator, found doc comment `//!foo --> $DIR/doc-comment-in-stmt.rs:25:22 | LL | let y = x.max(1) //!foo | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected one of `.`, `;`, `?`, `else`, or an operator | help: add a space before `!` to write a regular comment | LL | let y = x.max(1) // !foo | + ``` Fix #65329.
2023-10-20Auto merge of #116838 - gurry:116836-dup-macro-invoc-diag, r=petrochenkovbors-46/+13
Fix duplicate labels emitted in `render_multispan_macro_backtrace()` This PR replaces the `Vec` used to store labels with an `FxIndexSet` in order to eliminate duplicates Fixes #116836
2023-10-20Auto merge of #116875 - nnethercote:rustc_monomorphize, r=wesleywiserbors-54/+12
`rustc_monomorphize` cleanups Just some small improvements I found while looking over this code. r? `@wesleywiser`
2023-10-19Do not bold main message in `--error-format=short`Esteban Küber-1/+8
Fix #63835.
2023-10-20Specialize `Bytes<R>::next` when `R` is a `BufReader`.Nicholas Nethercote-15/+60
This reduces the runtime for a simple program using `Bytes::next` to iterate through a file from 220ms to 70ms on my Linux box.
2023-10-19Auto merge of #116874 - compiler-errors:elaborator-nits, r=wesleywiserbors-42/+39
Some small elaborator nits Didn't want to fold these into a totally unrelated pr.
2023-10-19Auto merge of #115214 - Urgau:rfc-3127-trim-paths, r=compiler-errorsbors-94/+582
Implement rustc part of RFC 3127 trim-paths This PR implements (or at least tries to) [RFC 3127 trim-paths](https://github.com/rust-lang/rust/issues/111540), the rustc part. That is `-Zremap-path-scope` with all of it's components/scopes. `@rustbot` label: +F-trim-paths
2023-10-19Auto merge of #116810 - cjgillot:mir-opt-check, r=oli-obkbors-589/+1444
Add FileCheck annotations to mir-opt tests. This PR makes compiletest run LLVM `FileCheck` tool on mir-opt tests. The check is *run by default*, except if disabled using `// skip-filecheck` comment. This ensures that we do not have a silently broken test. For now, the check is only run on the output of `--emit=mir`, ie. on PreCodegen MIR. I give an example on `reference_prop.rs`. r? `@oli-obk` cc `@RalfJung` Fixes https://github.com/rust-lang/rust/issues/85180
2023-10-19Uplift movability and mutability, the simple wayMichael Goulet-88/+79
2023-10-19FileCheck transmute.Camille GILLOT-2/+44
2023-10-19FileCheck inline_shims.Camille GILLOT-1/+4
2023-10-19FileCheck issue_106141.Camille GILLOT-1/+6
2023-10-19Mention skip in README.Camille GILLOT-0/+2
2023-10-19FileCheck lower_slice_len.Camille GILLOT-2/+3
2023-10-19FileCheck lower_array_len.Camille GILLOT-1/+14
2023-10-19FileCheck lower_intrinsics.Camille GILLOT-1/+87
2023-10-19FileCheck casts.Camille GILLOT-50/+53
2023-10-19FileCheck combine_transmutes.Camille GILLOT-1/+22
2023-10-19FileCheck duplicate_switch_targets.Camille GILLOT-4/+5
2023-10-19FileCheck intrinsic_asserts.Camille GILLOT-37/+46
2023-10-19FileCheck combine_clone_of_primitives.Camille GILLOT-8/+11
2023-10-19FileCheck bool_compare.Camille GILLOT-103/+191
2023-10-19FileCheck combine_array_len.Camille GILLOT-2/+3
2023-10-19Add README.Camille GILLOT-0/+16
2023-10-19FileCheck box_expr.rsCamille GILLOT-145/+104
This check is made `needs-unwind`, as the panic=abort case is a strictly simpler version.
2023-10-19FileCheck basic_assignment.rs.Camille GILLOT-3/+20
2023-10-19FileCheck asm_unwind_panic_abort.rsCamille GILLOT-1/+3
2023-10-19FileCheck array_index_is_temporary.rsCamille GILLOT-1/+7
2023-10-19Run filecheck on reference_prop.rsCamille GILLOT-16/+318
2023-10-19Allow to run filecheck in mir-opt tests.Camille GILLOT-240/+515
2023-10-19Auto merge of #116940 - matthiaskrgr:rollup-25ezp8a, r=matthiaskrgrbors-49/+110
Rollup of 4 pull requests Successful merges: - #116650 (add some comments and some cleanup around Miri intptrcast) - #116896 (Only check in a single place if a pass is enabled.) - #116906 (Use v0.0.0 in compiler crates) - #116921 (fix(bootstrap) info message show correct path now) r? `@ghost` `@rustbot` modify labels: rollup
2023-10-19Rollup merge of #116921 - Fenex:fix/bootstrap-setup-info-msg, r=compiler-errorsMatthias Krüger-1/+1
fix(bootstrap) info message show correct path now running `./x setup tools` showed me a note with incorrect path
2023-10-19Rollup merge of #116906 - compiler-errors:version-0, r=oli-obkMatthias Krüger-10/+10
Use v0.0.0 in compiler crates I may be totally off base here, but my understanding is that it's conventional to use v0.0.0 to reflect the unversioned nature of the compiler crates. Fix that for some of the compiler crates that were created recently.
2023-10-19Rollup merge of #116896 - cjgillot:single-inline, r=oli-obkMatthias Krüger-13/+41
Only check in a single place if a pass is enabled. Fixes https://github.com/rust-lang/rust/issues/116294
2023-10-19Rollup merge of #116650 - RalfJung:miri-intptrcast, r=oli-obkMatthias Krüger-25/+58
add some comments and some cleanup around Miri intptrcast `@saethlin` maybe this helps a bit?
2023-10-19Auto merge of #116132 - darthunix:connect_poll, r=cuviperbors-12/+38
Make TCP connect handle EINTR correctly According to the [POSIX](https://pubs.opengroup.org/onlinepubs/009695399/functions/connect.html) standard, if connect() is interrupted by a signal that is caught while blocked waiting to establish a connection, connect() shall fail and set errno to EINTR, but the connection request shall not be aborted, and the connection shall be established asynchronously. When the connection has been established asynchronously, select() and poll() shall indicate that the file descriptor for the socket is ready for writing. The previous implementation differs from the recomendation: in a case of the EINTR we tried to reconnect in a loop and sometimes get EISCONN error (this problem was originally detected on MacOS). 1. More details about the problem in an [article](http://www.madore.org/~david/computers/connect-intr.html). 2. The original [issue](https://git.picodata.io/picodata/picodata/tarantool-module/-/issues/157).
2023-10-19Auto merge of #116037 - wesleywiser:stack_protector_test_windows, r=cuviperbors-1/+821
Add `-Zstack-protector` test for Windows targets Add variants of the `stack-protector-heuristics-effect.rs` test for 32-bit and 64-bit MSVC Windows and update the original test to run on GNU Windows targets. I added two tests instead of trying to modify the original because: - MSVC uses a different function name (`__security_check_cookie` to perform the test rather than doing the test inline and calling `__stack_chk_fail`). - LLVM's stack protection pass doesn't currently support generating checks for [frames with funclet based EH personality](https://github.com/llvm/llvm-project/blob/37fd3c96b917096d8a550038f6e61cdf0fc4174f/llvm/lib/CodeGen/StackProtector.cpp#L103C1-L109C4). - 32-bit Windows uses classic EH while 64-bit Windows uses table-based EH which results in slightly different codegen. [CI run with test passing on {i686,x86_64}-{msvc,mingw}](https://github.com/rust-lang/rust/actions/runs/6275450644/job/17042958375?pr=116037)
2023-10-19Auto merge of #116923 - fmease:rollup-ev7q387, r=fmeasebors-125/+264
Rollup of 7 pull requests Successful merges: - #116663 (Don't ICE when encountering unresolved regions in `fully_resolve`) - #116761 (Fix podman detection in CI scripts) - #116795 (Add `#[track_caller]` to `Option::unwrap_or_else`) - #116829 (Make `#[repr(Rust)]` incompatible with other (non-modifier) representation hints like `C` and `simd`) - #116883 (Change my name in mailmap) - #116908 (Tweak wording of type errors involving type params) - #116912 (Some renaming nits for `rustc_type_ir`) r? `@ghost` `@rustbot` modify labels: rollup
2023-10-19Rollup merge of #116912 - compiler-errors:rustc_type_ir-bikeshedding, r=jackh726León Orell Valerian Liehr-57/+61
Some renaming nits for `rustc_type_ir` tl;dr: * `ListTy` -> `Tys` * `PlaceholderType` -> `PlaceholderTy` * `RegionVid` -> `InferRegion` * `ListBinderExistentialPredicate` -> `BoundExistentialPredicates` * `GenericArgsRef` -> `GenericArgs` r? jackh726