- 13 8月, 2023 6 次提交
-
-
由 Nilstrieb 提交于
This allows for better type safety in the compiler and also improves the documentation for many things, making it clear that they expect modules.
-
由 bors 提交于
Migrate GUI colors test to original CSS color format Follow-up of https://github.com/rust-lang/rust/pull/111459. r? `@notriddle`
-
由 bors 提交于
remove builtin `Copy` and `Clone` impl for float and int infer it's only change is whether `{integer}: Copy` is ambiguous, this has the following properties - these goals get proven earlier, potentially resulting in slightly better perf - it causes inconsistent behavior and ICE if there do not exist impls for all integers, causing issues when using `#[no_core]` - it means `Clone` has user-facing differences from other traits from `core` with the new solver because it can potentially guide inference there - it's just very sus™ to have a builtin impl which applies during type inference but not afterwards
-
由 bors 提交于
CI: fix Docker layer caching As reported by `@klensy` on [Zulip](https://rust-lang.zulipchat.com/#narrow/stream/242791-t-infra/topic/docker.20images.20always.20rebuilded), Github Actions have recently updated their Docker version from 20.x to 23.x, which enabled the BuildKit build backend by default. This broke our way of performing Docker layer caching on CI, which immediately made all non-PR CI builds (including try builds) ~1 hour longer (Docker caching didn't work on PR builds before, so it wasn't affected). The moment this started happening can be seen [here](https://github.com/rust-lang-ci/rust/actions?page=2&query=branch%3Aauto+is%3Asuccess). The problem is with the following command: ``` docker history -q rust-ci | \ grep -v missing | \ xargs docker save | \ gzip | \ $upload ``` which returns the intermediate layers as `<missing>`, if BuildKit is enabled. This was investigated by `@klensy` in https://github.com/rust-lang/rust/pull/114621. Thanks for that! I will continue experimenting with how we can enable the cache with BuildKit in https://github.com/rust-lang/rust/pull/114762, but for the time being, I think that we should just hotfix this. This PR reverts the build backend back to the old one, which fixes the caching. However, we also have to bust the cache of all Dockerfiles, otherwise caching would only start kicking in for them the next time they are updated (or the next time GH updates their docker version). Because when the Docker version was updated the last time, the Dockerfiles were cached on S3 with basically an empty cache, and unless we bust it, even after reverting to the old build engine, the CI script would just download the empty cache and rebuild the Dockerfile from scratch, thus nullifying our fix. r? `@Mark-Simulacrum`
-
由 bors 提交于
Rollup of 7 pull requests Successful merges: - #94455 (Partially stabilize `int_roundings`) - #114132 (Better Debug for Vars and VarsOs) - #114584 (E0277 nolonger points at phantom `.await`) - #114667 (Record binder for bare trait object in LifetimeCollectVisitor) - #114692 (downgrade `internal_features` to warn) - #114703 (Cover ParamConst in smir) - #114734 (Mark oli as "on vacation") r? `@ghost` `@rustbot` modify labels: rollup
-
由 Jakub Beránek 提交于
-
- 12 8月, 2023 16 次提交
-
-
由 bors 提交于
Respect `#[expect]` the same way `#[allow]` is with the `dead_code` lint This PR makes the `#[expect]` attribute being respected in the same way the `#[allow]` attribute is with the `dead_code` lint. The fix is much more involved than I would have liked (and it's not because I didn't tried!), because the implementation took advantage of the fact that firing a lint in a allow context is a nop (for the user, as the lint is suppressed) to not fire-it at all. And will it's fine for `#[allow]`, it definitively isn't for `#[expect]`, as the presence and absence of the lint is significant. So a big part of the PR is just adding the context information of whenever an item is on the worklist because of an `[allow]`/`#[expect]` or not. Fixes https://github.com/rust-lang/rust/issues/114557
-
由 Matthias Krüger 提交于
Mark oli as "on vacation"
-
由 Matthias Krüger 提交于
Cover ParamConst in smir Others variants won't be useful for a while or ever(?), but we might need this one. r? ````@oli-obk````
-
由 Matthias Krüger 提交于
downgrade `internal_features` to warn Not sure if this requires an FCP or whatever. By having the lint as deny I need to modify test cases when testing them outside of the test suite as the test suite implicitly allows the lint. This takes maybe 10 to 20 seconds per test, but given just how frequently I end up copying tests to different repos it's a significant annoyance. r? `@Nilstrieb`
-
由 Matthias Krüger 提交于
Record binder for bare trait object in LifetimeCollectVisitor The `LifetimeCollectVisitor` had a bug where it was not recording the binder of bate trait objects. This was uncovered in #114487, when I changed opaque type lowering to ICE if it encountered a captured fresh lifetime with no def-id to map back to: https://github.com/rust-lang/rust/pull/114487/files#diff-ad0c15bbde97a607d4758ec7eaf88248be5d6b8ae084dfc84127f81e3f7a9bb4R1585 Fixes #114664
-
由 Matthias Krüger 提交于
E0277 nolonger points at phantom `.await` fixes #113203
-
由 Matthias Krüger 提交于
Better Debug for Vars and VarsOs Display actual vars instead of two dots. The same was done for Args and ArgsOs in 275f9a04.
-
由 Matthias Krüger 提交于
Partially stabilize `int_roundings` This stabilizes the following: ```rust impl uX { pub const fn div_ceil(self, rhs: Self) -> Self; pub const fn next_multiple_of(self, rhs: Self) -> Self; pub const fn checked_next_multiple_of(self, rhs: Self) -> Option<Self>; } ``` This feature is tracked in #88581.
-
由 Guillaume Gomez 提交于
-
由 bors 提交于
Only check outlives goals on impl compared to trait Fixes #108544 r? `@compiler-errors`
-
由 Jacob Pratt 提交于
-
由 Jacob Pratt 提交于
-
由 Jack Huey 提交于
-
由 bors 提交于
Tell LLVM that the negation in `<*const T>::sub` cannot overflow Today it's just `sub` <https://rust.godbolt.org/z/8EzEPnMr5>; with this PR it's `sub nsw`.
-
由 lcnr 提交于
-
- 11 8月, 2023 18 次提交
-
-
由 bors 提交于
Update Clippy r? `@Manishearth` cc `@Centri3` This reinstates the `filter_map_bool_then` lint https://github.com/rust-lang/rust/pull/114715, since I think you fixed the ICE in https://github.com/rust-lang/rust/commit/beb57f074eb83643dde6ad960edadd3dbe4e6109 which is included in this sync.
-
由 Oli Scherer 提交于
-
由 bors 提交于
miri: implement some `llvm.x86.sse.*` intrinsics and add tests PR moved from https://github.com/rust-lang/rust/pull/113932. Implements LLVM intrisics needed to run most SSE functions from `core::arch::x86{,_64}`. Also adds miri tests for those functions (mostly copied from core_arch tests). r? `@RalfJung` The first commit is the same that the commit in the PR I had opened in the Rust repository. I addressed review comments in additional commits to make it easier to review. I also fixed formatting and clippy warnings.
-
由 bors 提交于
add gamma function shims needs a rustup to fetch the new declarations in std
-
由 Eduardo Sánchez Muñoz 提交于
Implements LLVM intrisics needed to run most SSE functions from `core::arch::x86{,_64}`. Also adds miri tests for those functions (mostly copied from core_arch tests).
-
由 bors 提交于
reduce deps for windows-msvc targets for backtrace (eventually) mirrors https://github.com/rust-lang/backtrace-rs/pull/543 Some dependencies of backtrace don't used on windows-msvc targets, so exclude them: miniz_oxide (+ adler) addr2line (+ gimli) object (+ memchr) This saves about 30kb of std.dll + 17.5mb of rlibs
-
由 Philipp Krones 提交于
-
由 bors 提交于
redundant_locals: fix FPs on mutated shadows Fixes #11290. When a mutable binding is shadowed by a mutable binding of the same name in a different scope, mutations in that scope have different meaning. This PR fixes spurious `redundant_locals` emissions on such locals. cc `@Centri3,` `@flip1995` changelog: [`redundant_locals`]: fix false positives on mutated shadows
-
由 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.
-
由 Philipp Krones 提交于
-
由 Philipp Krones 提交于
-
由 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
-
由 Scott McMurray 提交于
Today it's just `sub` <https://rust.godbolt.org/z/8EzEPnMr5>; with this PR it's `sub nsw`.
-
由 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? :)
-