about summary refs log tree commit diff
path: root/src
AgeCommit message (Collapse)AuthorLines
2023-10-21Merge commit '2b030eb03d9e5837440b1ee0b98c50b97c0c5889' into clippyupPhilipp Krones-3/+3
2023-10-21Merge commit '2b030eb03d9e5837440b1ee0b98c50b97c0c5889' into clippyupPhilipp Krones-845/+2316
2023-10-21Merge from rustcThe Miri Conjob Bot-398/+398
2023-10-21Preparing for merge from rustcThe Miri Conjob Bot-1/+1
2023-10-20Update cargoWeihang Lo-0/+0
2023-10-20Replace all uses of `generator` in markdown documentation with `coroutine`Oli Scherer-11/+11
2023-10-20bless miriOli Scherer-8/+8
2023-10-20Rename lots of files that had `generator` in their nameOli Scherer-0/+0
2023-10-20s/generator/coroutine/Oli Scherer-307/+307
2023-10-20s/Generator/Coroutine/Oli Scherer-54/+54
2023-10-20Use gdb.ValuePrinter tag classTom Tromey-149/+158
GDB 14 has a "gdb.ValuePrinter" tag class that was introduced to let GDB evolve the pretty-printer API. Users of this tag are required to hide any local attributes or methods. This patch makes this change to the Rust pretty-printers. At present this is just a cleanup, providing the basis for any future changes.
2023-10-20Rewrite gdb pretty-printer registrationTom Tromey-55/+78
Currently, the Rust pretty-printers are registered in gdb using the uninformative name "lookup": (gdb) info pretty-printer global pretty-printers: [...] objfile /home/tromey/[...] lookup It's nicer for users if the top-level registration is given a clear name. Additionally, gdb lets users individually enable and disable specific printers, provided they are registered correctly. This patch implements both these ideas. Now the output looks like: (gdb) info pretty-printer global pretty-printers: [...] objfile /home/tromey/[...] rust StdArc StdBTreeMap StdBTreeSet StdCell StdHashMap StdHashSet StdNonZeroNumber StdOsString StdRc StdRef StdRefCell StdRefMut StdSlice StdStr StdString StdVec StdVecDeque
2023-10-20Avoid a `track_errors` by bubbling up most errors from `check_well_formed`Oli Scherer-12/+2
2023-10-20ignore deny lints in joshRalf Jung-1/+1
2023-10-20Merge from rustcRalf Jung-53/+73
2023-10-20Preparing for merge from rustcRalf Jung-1/+1
2023-10-19clarify commentRalf Jung-3/+7
2023-10-19remove allocations from int_to_ptr_map and exposed when they get freedRalf Jung-16/+35
2023-10-19switch intptrcast to helper trait pattern like everything elseRalf Jung-88/+87
2023-10-19intptrcast: only find strictly in-bounds pointers when we are not hitting ↵Ralf Jung-2/+5
the base address
2023-10-19fmtRalf Jung-4/+1
2023-10-19Auto merge of #115214 - Urgau:rfc-3127-trim-paths, r=compiler-errorsbors-3/+28
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-19ci: set IS_NOT_LATEST_LLVM for llvm-16Josh Stone-0/+4
2023-10-19ci: add a runner for vanilla LLVM 17Josh Stone-0/+55
2023-10-19Merge from rustcRalf Jung-742/+802
2023-10-19Preparing for merge from rustcRalf Jung-1/+1
2023-10-19Allow to run filecheck in mir-opt tests.Camille GILLOT-50/+45
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 #116650 - RalfJung:miri-intptrcast, r=oli-obkMatthias Krüger-25/+48
add some comments and some cleanup around Miri intptrcast `@saethlin` maybe this helps a bit?
2023-10-19Fix x64_64-gnu-llvm-15 CI testsJakub Beránek-28/+28
There were two command chains separated by `&&` in the script, and since `set -e` doesn't exit for chained commands, if the first chain has failed, the command would happily continue forward, ignoring any test failures.
2023-10-19Rollup merge of #116908 - estebank:issue-78206, r=compiler-errorsLeón Orell Valerian Liehr-1/+1
Tweak wording of type errors involving type params Fix #78206.
2023-10-19Rollup merge of #116761 - Nilstrieb:podman, r=cuviperLeón Orell Valerian Liehr-1/+1
Fix podman detection in CI scripts When docker-podman compat was set up in a way that causes "docker" to be the argv[0] of podman, the previous detection did not work. This was for example the case in the compat package from nixpkgs. This checks the output and should work everywhere. I tested it locally by executing ```sh if [[ "$id" != 0 && "$(docker version)" =~ Podman ]]; then echo yes else echo no fi ``` which printed `no` before, and `yes` now. fixes #113129 r? cuviper
2023-10-19fix(bootstrap) info message show correct path nowVitaliy Busko-1/+1
2023-10-18Tweak wording of type errors involving type paramsEsteban Küber-1/+1
Fix #78206.
2023-10-18Bump rustix from 0.38.17 to 0.38.19 in /miri-scriptdependabot[bot]-2/+2
Bumps [rustix](https://github.com/bytecodealliance/rustix) from 0.38.17 to 0.38.19. - [Release notes](https://github.com/bytecodealliance/rustix/releases) - [Commits](https://github.com/bytecodealliance/rustix/compare/v0.38.17...v0.38.19) --- updated-dependencies: - dependency-name: rustix dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com>
2023-10-18Deserialize Msrv directly in ConfAlex Macleod-3/+3
2023-10-18Bump rustix from 0.38.17 to 0.38.19 in /cargo-miridependabot[bot]-2/+2
Bumps [rustix](https://github.com/bytecodealliance/rustix) from 0.38.17 to 0.38.19. - [Release notes](https://github.com/bytecodealliance/rustix/releases) - [Commits](https://github.com/bytecodealliance/rustix/compare/v0.38.17...v0.38.19) --- updated-dependencies: - dependency-name: rustix dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com>
2023-10-18Bump rustix from 0.38.17 to 0.38.19dependabot[bot]-2/+2
--- updated-dependencies: - dependency-name: rustix dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com>
2023-10-18AliasTy::new instead of tcx methodlcnr-1/+1
2023-10-18Auto merge of #116840 - nikic:update-llvm-15, r=cuviperbors-0/+0
Update to LLVM 17.0.3 Fixes https://github.com/rust-lang/rust/issues/116582. Fixes miscompile reported at https://github.com/rust-lang/rust/pull/104862. r? `@cuviper`
2023-10-17Auto merge of #116767 - cjgillot:alloc-normalize, r=oli-obkbors-0/+34
Normalize alloc-id in tests. AllocIds are globally numbered in a rustc invocation. This makes them very sensitive to changes unrelated to what is being tested. This commit normalizes them by renumbering, in order of appearance in the output. The renumbering allows to keep the identity, that a simple `allocN` wouldn't. This is useful when we have memory dumps. cc `@saethlin` r? `@oli-obk`
2023-10-17Simplify BehaviorOnFailureJakub Beránek-14/+17
2023-10-17Rename Supress variantJakub Beránek-5/+9
2023-10-17Remove usages of `Config::try_run`Jakub Beránek-15/+13
Commands should be run on Builder, if possible.
2023-10-17Add output mode to BootstrapCommandJakub Beránek-54/+76
2023-10-17Add behavior on failure to BootstrapCommandJakub Beránek-37/+37
2023-10-17Add BootstrapCommand and `run_cmd`Jakub Beránek-9/+47
2023-10-17Auto merge of #116855 - matthiaskrgr:rollup-i2izdwb, r=matthiaskrgrbors-101/+151
Rollup of 5 pull requests Successful merges: - #111072 (Add new simpler and more explicit syntax for check-cfg) - #116717 (Special case iterator chain checks for suggestion) - #116719 (Add MonoItems and Instance to stable_mir) - #116787 (Implement an internal lint encouraging use of `Span::eq_ctxt`) - #116827 (Make `handle_options` public again.) r? `@ghost` `@rustbot` modify labels: rollup
2023-10-17Rollup merge of #116787 - a-lafrance:span-internal-lint, r=oli-obkMatthias Krüger-16/+16
Implement an internal lint encouraging use of `Span::eq_ctxt` Adds a new Rustc internal lint that forbids use of `.ctxt() == .ctxt()` for spans, encouraging use of `.eq_ctxt()` instead (see https://github.com/rust-lang/rust/issues/49509). Also fixed a few violations of the lint in the Rustc codebase (a fun additional way I could test my code). Edit: MIR opt folks I believe that's why you're CC'ed, just a heads up. Two things I'm not sure about: 1. The way I chose to detect calls to `Span::ctxt`. I know adding diagnostic items to methods is generally discouraged, but after some searching and experimenting I couldn't find anything else that worked, so I went with it. That said, I'm happy to implement something different if there's a better way out there. (For what it's worth, if there is a better way, it might be worth documenting in the rustc-dev-guide, which I'm happy to take care of) 2. The error message for the lint. Ideally it would probably be good to give some context as to why the suggestion is made (e.g. `rustc::default_hash_types` tells the user that it's because of performance), but I don't have that context so I couldn't put it in the error message. Happy to iterate on the error message based on feedback during review. r? ``@oli-obk``
2023-10-17Rollup merge of #111072 - Urgau:check-cfg-new-syntax, r=petrochenkovMatthias Krüger-85/+135
Add new simpler and more explicit syntax for check-cfg <details> <summary> Old proposition (before the MCP) </summary> This PR adds a new simpler and more explicit syntax for check-cfg. It consist of two new form: - `exhaustive(names, values)` - `configure(name, "value1", "value2", ... "valueN")` The preview forms `names(...)` and `values(...)` have implicit meaning that are not strait-forward. In particular `values(foo)`&`values(bar)` and `names(foo, bar)` are not equivalent which has created [some confusions](https://github.com/rust-lang/rust/pull/98080). Also the `names()` and `values()` form are not clear either and again created some confusions where peoples believed that `values()`&`values(foo)` could be reduced to just `values(foo)`. To fix that the two new forms are made to be explicit and simpler. See the table of correspondence: - `names()` -> `exhaustive(names)` - `values()` -> `exhaustive(values)` - `names(foo)` -> `exhaustive(names)`&`configure(foo)` - `values(foo)` -> `configure(foo)` - `values(feat, "foo", "bar")` -> `configure(feat, "foo", "bar")` - `values(foo)`&`values(bar)` -> `configure(foo, bar)` - `names()`&`values()`&`values(my_cfg)` -> `exhaustive(names, values)`&`configure(my_cfg)` Another benefits of the new syntax is that it allow for further options (like conditional checking for --cfg, currently always on) without syntax change. The two previous forms are deprecated and will be removed once cargo and beta rustc have the necessary support. </details> This PR is the first part of the implementation of [MCP636 - Simplify and improve explicitness of the check-cfg syntax](https://github.com/rust-lang/compiler-team/issues/636). ## New `cfg` form It introduces the new [`cfg` form](https://github.com/rust-lang/compiler-team/issues/636) and deprecate the other two: ``` rustc --check-cfg 'cfg(name1, ..., nameN, values("value1", "value2", ... "valueN"))' ``` ## Default built-in names and values It also changes the default for the built-in names and values checking. - Built-in values checking would always be activated as long as a `--check-cfg` argument is present - Built-in names checking would always be activated as long as a `--check-cfg` argument is present **unless** if any `cfg(any())` arg is passed ~~**Note: depends on https://github.com/rust-lang/rust/pull/111068 but is reviewable (last two commits)!**~~ Resolve https://github.com/rust-lang/compiler-team/issues/636 r? `@petrochenkov`