- 11 8月, 2023 24 次提交
-
-
由 Oli Scherer 提交于
-
由 bors 提交于
make `typeid::typeid_itanium_cxx_abi::transform_ty` evaluate length in array types the ICE in https://github.com/rust-lang/rust/issues/114275 was caused by `transform_ty` in compiler/rustc_symbol_mangling/src/typeid/typeid_itanium_cxx_abi.rs encountering an unevaluated const, while expecting it to already be evaluated.
-
由 bors 提交于
Rollup of 5 pull requests Successful merges: - #114194 (Inline trivial (noop) flush calls) - #114257 (Avoid using `ptr::Unique` in `LinkedList` code) - #114359 ([library/std] Replace condv while loop with `cvar.wait_while`.) - #114402 (Fix documentation of impl From<Vec<T>> for Rc<[T]>) - #114715 (Revert clippy lint [`filter_map_bool_then`]) r? `@ghost` `@rustbot` modify labels: rollup
-
由 bors 提交于
Rollup of 7 pull requests Successful merges: - #114599 (Add impl trait declarations to SMIR) - #114622 (rustc: Move `crate_types` and `stable_crate_id` from `Session` to `GlobalCtxt`) - #114662 (Unlock trailing where-clauses for lazy type aliases) - #114693 (Remove myself from the review rotation) - #114694 (make the provisional cache slightly less broken) - #114705 (Add spastorino to mailmap) - #114712 (Fix a couple of bad comments) r? `@ghost` `@rustbot` modify labels: rollup
-
由 Michael Goulet 提交于
Revert clippy lint [`filter_map_bool_then`] r? `@Manishearth` Issue in question is https://github.com/rust-lang/rust-clippy/issues/11309. We usually wait until the next sync but this ICE is entirely unpreventable and happens often for code where type annotations are needed alongside a lifetime parameter so I think it's a good idea to revert it here. Also, this got into 1.71.1: https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=620a95846a0e4810dffb39d7594d62d7
-
由 Michael Goulet 提交于
Fix documentation of impl From<Vec<T>> for Rc<[T]> The example in the documentation of `impl From<Vec<T>> for <Rc<[T]>` is irrelevant (likely was copied from `impl From<Box<T>> for <Rc<T>`). I suggest taking corresponding example from the documentation of `Arc` and replacing `Arc` with `Rc`.
-
由 Michael Goulet 提交于
[library/std] Replace condv while loop with `cvar.wait_while`. `wait_while` takes care of spurious wake-ups in centralized place, reducing chances for mistakes and potential future optimizations (who knows, maybe in future there will be no spurious wake-ups? :)
-
由 Michael Goulet 提交于
Avoid using `ptr::Unique` in `LinkedList` code Addresses a [comment](https://github.com/rust-lang/rust/pull/103093#discussion_r1268506747) by `@RalfJung` about avoiding use of `core::ptr::Unique` in the standard library.
-
由 Michael Goulet 提交于
Inline trivial (noop) flush calls At work I noticed that `writer.flush()?` didn't get optimized away in cases where the flush is obviously a no-op, which I had expected (well, desired). I went through and added `#[inline]` to a bunch of cases that were obviously noops, or delegated to ones that were obviously noops. I omitted platforms I don't have access to (some tier3). I didn't do this very scientifically, in cases where it was non-obvious I left `#[inline]` off.
-
由 Michael Goulet 提交于
Fix a couple of bad comments A couple of nits I saw. Sorry, this really should be folded into some other PR of mine, but I will literally forget if I don't put these up now.
-
由 Michael Goulet 提交于
Add spastorino to mailmap
-
由 Michael Goulet 提交于
make the provisional cache slightly less broken It is still broken for the following cycles: ```mermaid graph LR R["R: coinductive"] --> A["A: inductive"] R --> B["B: coinductive"] A --> B B --> R ``` the `R -> A -> B -> R` cycle should be considered to not hold, as it is mixed, but because we first put `B` into the cache from the `R -> B -> R` cycle which is coinductive, it does hold. This issue will also affect our new coinduction approach. Longterm cycles are coinductive as long as one step goes through an impl where-clause, see https://github.com/rust-lang/a-mir-formality/blob/f4fc5bae36ab1a9fefddd54e5ccffc5f671467ec/crates/formality-prove/src/prove/prove_wc.rs#L51-L62. Here we would first have a fully inductive cycle `R -> B -> R` which is then entered by a cycle with a coinductive step `R -> A -coinductive-> B -> R`. I don't know how to soundly implement a provisional cache for goals not on the stack without tracking all cycles the goal was involved in and whether they were inductive or not. We could then only use goals from the cache if the *inductivity?* of every cycle remained the same. This is a mess to implement. I therefore want to rip out the provisional cache entirely, but will wait with this until I talked about it with `@nikomatsakis.` r? `@compiler-errors`
-
由 Michael Goulet 提交于
Remove myself from the review rotation I'll go on vacation soon, and in general I've not been able to keep up with the reviews. r? `@Mark-Simulacrum`
-
由 Michael Goulet 提交于
Unlock trailing where-clauses for lazy type aliases Allows trailing where-clauses on lazy type aliases and forbids[^1] leading ones. Completes #89122 (see section *Top-level type aliases*). `@rustbot` label F-lazy_type_alias r? `@oli-obk` [^1]: This is absolutely fine since lazy type aliases are only meant to be stabilized as part of a new edition.
-
由 Michael Goulet 提交于
rustc: Move `crate_types` and `stable_crate_id` from `Session` to `GlobalCtxt` Removes two pieces of mutable state. Follow up to https://github.com/rust-lang/rust/pull/114578.
-
由 Michael Goulet 提交于
Add impl trait declarations to SMIR r? `@oli-obk`
-
由 bors 提交于
Add suggestion to quote inlined format argument as string literal Fixes #114235
-
由 Michael Goulet 提交于
-
由 bors 提交于
coverage: Don't convert filename/symbol strings to `CString` for FFI LLVM APIs are usually perfectly happy to accept pointer/length strings, as long as we supply a suitable length value when creating a `StringRef` or `std::string`. This lets us avoid quite a few intermediate `CString` copies during coverage codegen. It also lets us use an `IndexSet<Symbol>` (instead of an `IndexSet<CString>`) when building the deduplicated filename table.
-
由 Catherine Flores 提交于
This reverts commits 978b1daf and 3235d9d6.
-
由 Santiago Pastorino 提交于
-
由 bors 提交于
Detect missing `;` that parses as function call Fix #106515.
-
由 Santiago Pastorino 提交于
-
由 Santiago Pastorino 提交于
-
- 10 8月, 2023 16 次提交
-
-
由 bors 提交于
Rollup of 5 pull requests Successful merges: - #114278 (better error handling for `rust.codegen-backends` on deserialization) - #114674 (Add clubby789 to `users_on_vacation`) - #114678 (`Expr::can_have_side_effects()` is incorrect for struct/enum/array/tuple literals) - #114681 (doc (unstable-book): fix a typo) - #114684 (Remove redundant calls to `resolve_vars_with_obligations`) r? `@ghost` `@rustbot` modify labels: rollup
-
-
由 Matthias Krüger 提交于
Remove redundant calls to `resolve_vars_with_obligations` I've been auditing the calls to `resolve_vars_with_obligations` for the new solver, and have found a few that have no effect on diagnostics. Let's just remove 'em. Also remove a redundant `resolve_vars_with_obligations_and_mutate_fulfillment` call. r? ``@lcnr``
-
由 Matthias Krüger 提交于
doc (unstable-book): fix a typo Just fix a small typo.
-
由 Matthias Krüger 提交于
`Expr::can_have_side_effects()` is incorrect for struct/enum/array/tuple literals It would return 'false' unless *all* sub-expressions had side effects. This would easily allow side effects to slip through, and also wrongly label empty literals as having side effects. Add some tests for the last point The function is only used for simple lints and error messages, so not a serious bug.
-
由 Matthias Krüger 提交于
Add clubby789 to `users_on_vacation` I'm on holiday until the 30th of August so won't be able to take on reviews until then
-
由 Matthias Krüger 提交于
better error handling for `rust.codegen-backends` on deserialization Fixes #109315
-
由 bors 提交于
Add support for tidy linting via external tools for non-rust files This change adds the flag `--check-extras` to `tidy`. It accepts a comma separated list of any of the options: * py (test everything applicable for python files) * py:lint (lint python files using `ruff`) * py:fmt (check formatting for python files using `black`) * shell or shell:lint (lint shell files using `shellcheck`) Specific files to check can also be specified via positional args. Examples: * `./x test tidy --check-extras=shell,py` * `./x test tidy --check-extras=py:fmt -- src/bootstrap/bootstrap.py` * `./x test tidy --check-extras=shell -- src/ci/*.sh` * Python formatting can be applied with bless: `./x test tidy --ckeck-extras=py:fmt --bless` `ruff` and `black` need to be installed via pip; this tool manages these within a virtual environment at `build/venv`. `shellcheck` needs to be installed on the system already. --- This PR doesn't fix any of the errors that show up (I will likely go through those at some point) and it doesn't enforce anything new in CI. Relevant zulip discussion: https://rust-lang.zulipchat.com/#narrow/stream/242791-t-infra/topic/Other.20linters.20in.20CI
-
由 lcnr 提交于
-
由 lcnr 提交于
-
由 Pietro Albini 提交于
-
由 Pietro Albini 提交于
-
由 lena 提交于
this ICE was caused by `transform_ty` in compiler/rustc_symbol_mangling/src/typeid/typeid_itanium_cxx_abi.rs encountering an unevaluated const, while expecting it to already be evaluated. add a regression test Update tests/ui/sanitize/issue-114275-cfi-const-expr-in-arry-len.rs Co-authored-by: NMichael Goulet <michael@errs.io> Update tests/ui/sanitize/issue-114275-cfi-const-expr-in-arry-len.rs Co-authored-by: NMichael Goulet <michael@errs.io> fix test compiling for targets with -crt-static and failing this was causign https://github.com/rust-lang/rust/pull/114686 to fail
-
由 bors 提交于
offset_of: guard against invalid use (with unsized fields)
-
由 bors 提交于
fix(bootstrap): rename exclude flag to skip
🐛 fixes #111894 -
由 Michael Goulet 提交于
-