- 01 3月, 2022 27 次提交
-
-
由 Matthias Krüger 提交于
6 - Make more use of `let_chains` Continuation of #94376. cc #53667
-
由 Matthias Krüger 提交于
Fix inconsistent symbol mangling of integers constants with -Zverbose The `PrettyPrinter` changes formatting of array size and integer constants based on `-Zverbose`, so its implementation cannot be used in legacy symbol mangling. Example symbol demangling before changes: ```console $ cat a.rs pub struct A<T>(T); impl A<[u8; 128]> { pub fn f() {} } $ rustc --crate-type=lib a.rs -Zverbose=n && nm -C ./liba.rlib 00000000 T a::A<[u8; 128]>::f $ rustc --crate-type=lib a.rs -Zverbose=y && nm -C ./liba.rlib 00000000 T a::A<[u8; Const { ty. usize, val. Value(Scalar(0x0000000000000080)) }]>::f ```
-
由 Matthias Krüger 提交于
Update cargo 11 changes in d6cdde584a1f15ea086bae922e20fd27f7165431..3d6970d50e30e797b8e26b2b9b1bdf92dc381f34 2022-02-22 19:55:51 +0000 to 2022-02-28 19:29:07 +0000: - https://github.com/rust-lang/cargo/pull/10395 - https://github.com/rust-lang/cargo/pull/10425 - https://github.com/rust-lang/cargo/pull/10428 - https://github.com/rust-lang/cargo/pull/10388 - https://github.com/rust-lang/cargo/pull/10167 - https://github.com/rust-lang/cargo/pull/10429 - https://github.com/rust-lang/cargo/pull/10426 - https://github.com/rust-lang/cargo/pull/10372 - https://github.com/rust-lang/cargo/pull/10420 - https://github.com/rust-lang/cargo/pull/10416 - https://github.com/rust-lang/cargo/pull/10417
-
由 Matthias Krüger 提交于
Check method input expressions once If the user mistakenly forgets to wrap their method args in a tuple, then the compiler tries to check that types within the tuple match the expression args. This means we call `check_expr` once within this diagnostic code, so when we check the expr once again in `demand_compatible`, we attempt to apply expr adjustments twice, leading to ICEs. This PR attempts to fix this by skipping the expression type check in `demand_compatible` if we have detected an method arg mismatch at all. This does lead to a single UI test regressing slightly, due to a diagnostic disappearing, though I don't know if it is generally meaningful to even raise an type error after noting that the argument count is incorrect in a function call, since the user might be providing (in-context) meaningless expressions to the wrong method. I can adjust this to be a bit more targeted (to just skip checking exprs in `demand_compatible` in the tuple case) if this UI test regression is a problem. fixes #94334 cc #94291 Also drive-by fixup of `.node_type(expr.hir_id)` to `.expr_ty(expr)`, since that method exists.
-
由 bors 提交于
Rollup of 7 pull requests Successful merges: - #91545 (Generalize "remove `&`" and "add `*`" suggestions to more than one deref) - #93385 (Rustdoc ty consistency fixes) - #93926 (Lint against more useless `#[must_use]` attributes) - #94094 (use BOOL for TCP_NODELAY setsockopt value on Windows) - #94384 (Add Atomic*::from_mut_slice) - #94448 (5 - Make more use of `let_chains`) - #94452 (Sync portable-simd for bitmasks &c.) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
-
由 Dylan DPC 提交于
Sync portable-simd for bitmasks &c. In the ideal case, where everything works easily and nothing has to be rearranged, it is as simple as: - `git subtree pull -P library/portable-simd https://github.com/rust-lang/portable-simd - ${branch}` - write the commit message - `python x.py test --stage 1` to make sure it runs - `git push` to your PR-to-rustc branch If anything borks up this flow, you can fix it with sufficient git wizardry but you are usually better off going back to the source, fixing it, and starting over, before you open the PR. r? `@calebzulawski`
-
由 Dylan DPC 提交于
5 - Make more use of `let_chains` Continuation of #94376. cc #53667
-
由 Dylan DPC 提交于
Add Atomic*::from_mut_slice Tracking issue #76314 for `from_mut` has a question about the possibility of `from_mut_slice`, and I found a real case for it. A user in the forum had a parallelism problem that could be solved by open-indexing updates to a vector of atomics, but they didn't want to affect the other code using that vector. Using `from_mut_slice`, they could borrow that data as atomics just long enough for their parallel loop. ref: https://users.rust-lang.org/t/sharing-vector-with-rayon-par-iter-correctly/72022
-
由 Dylan DPC 提交于
use BOOL for TCP_NODELAY setsockopt value on Windows This issue was found by the Wine project and mitigated there [^1]. Windows' setsockopt expects a BOOL (a typedef for int) for TCP_NODELAY [^2]. Windows itself is forgiving and will accept any positive optlen and interpret the first byte of *optval as the value, so this bug does not affect Windows itself, but does affect systems implementing Windows' interface more strictly, such as Wine. Wine was previously passing this through to the host's setsockopt, where, e.g., Linux requires that optlen be correct for the chosen option, and TCP_NODELAY expects an int. [^1]: https://source.winehq.org/git/wine.git/commit/d6ea38f32dfd3edbe107a255c37e9f7f3da06ae7 [^2]: https://docs.microsoft.com/en-us/windows/win32/api/winsock/nf-winsock-setsockopt
-
由 Dylan DPC 提交于
Lint against more useless `#[must_use]` attributes This expands the existing `#[must_use]` check in `unused_attributes` to lint against pretty much everything `#[must_use]` doesn't support. Fixes #93906.
-
由 Dylan DPC 提交于
Rustdoc ty consistency fixes Changes to make rustdoc cleaning of ty more consistent with hir, and hopefully use it in more places. r? `@camelid`
-
由 Dylan DPC 提交于
Generalize "remove `&`" and "add `*`" suggestions to more than one deref Suggest removing more than one `&` and `&mut`, along with suggesting adding more than one `*` (or a combination of the two). r? `@estebank` (since you're experienced with these types of suggestions, feel free to reassign)
-
由 Caio 提交于
Continuation of #94376. cc #53667
-
由 bors 提交于
Caching the stable hash of Ty within itself Instead of computing stable hashes on types as needed, we compute it during interning. This way we can, when a hash is requested, just hash that hash, which is significantly faster than traversing the type itself. We only do this for incremental for now, as incremental is the only frequent user of stable hashing. As a next step we can try out * moving the hash and TypeFlags to Interner, so projections and regions get the same benefit (tho regions are not nested, so maybe that's not a good idea? Would be nice for dedup tho) * start comparing types via their stable hash instead of their address?
-
由 bors 提交于
Rollup of 6 pull requests Successful merges: - #92399 (fix typo in btree/vec doc: Self -> self) - #92823 (Tweak diagnostics) - #94248 (Fix ICE when passing block to while-loop condition) - #94414 (Fix ICE when using Box<T, A> with large A) - #94445 (4 - Make more use of `let_chains`) - #94449 (Add long explanation for E0726) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
-
由 Tomasz Miąsko 提交于
The `PrettyPrinter` changes formatting of array size and integer constants based on `-Zverbose`, so its implementation cannot be used in legacy symbol mangling.
-
由 Jon Gjengset 提交于
11 changes in d6cdde584a1f15ea086bae922e20fd27f7165431..3d6970d50e30e797b8e26b2b9b1bdf92dc381f34 2022-02-22 19:55:51 +0000 to 2022-02-28 19:29:07 +0000: - https://github.com/rust-lang/cargo/pull/10395 - https://github.com/rust-lang/cargo/pull/10425 - https://github.com/rust-lang/cargo/pull/10428 - https://github.com/rust-lang/cargo/pull/10388 - https://github.com/rust-lang/cargo/pull/10167 - https://github.com/rust-lang/cargo/pull/10429 - https://github.com/rust-lang/cargo/pull/10426 - https://github.com/rust-lang/cargo/pull/10372 - https://github.com/rust-lang/cargo/pull/10420 - https://github.com/rust-lang/cargo/pull/10416 - https://github.com/rust-lang/cargo/pull/10417
-
由 Matthias Krüger 提交于
Add long explanation for E0726 This is the cleaned up version of #87655 with the missing fixes. Part of https://github.com/rust-lang/rust/issues/61137. r? `@Urgau`
-
由 Matthias Krüger 提交于
4 - Make more use of `let_chains` Continuation of #94376. cc #53667
-
由 Matthias Krüger 提交于
Fix ICE when using Box<T, A> with large A A sequel to #94043 that fixes #81270 and #92054 (duplicate).
-
由 Matthias Krüger 提交于
Fix ICE when passing block to while-loop condition We were incorrectly delaying a bug when we passed _any_ block (that evaluated to `()`) to a while loop. This PR makes the check a bit more sophisticated. We should only suppress the error here in cases that are equivalent to those we find in #93574 (i.e. only while loop conditions that have destructuring assignment expressions in them). Fixes #93997 cc `@estebank` who added this code I would not be opposed to removing the delay-bug altogether, and just emitting this error always. I much prefer duplicate errors over no errors.
-
由 Matthias Krüger 提交于
Tweak diagnostics * Recover from invalid `'label: ` before block. * Make suggestion to enclose statements in a block multipart. * Point at `match`, `while`, `loop` and `unsafe` keywords when failing to parse their expression. (Fix #92705.) * Do not suggest `{ ; }`. * Do not suggest `|` when very unlikely to be what was wanted (in `let` statements).
-
由 Matthias Krüger 提交于
fix typo in btree/vec doc: Self -> self this pr fixes #92345 the documentation refers to the object the method is called for, not the type, so it should be using the lower case self.
-
由 Caio 提交于
-
由 Esteban Kuber 提交于
* Recover from invalid `'label: ` before block. * Make suggestion to enclose statements in a block multipart. * Point at `match`, `while`, `loop` and `unsafe` keywords when failing to parse their expression. * Do not suggest `{ ; }`. * Do not suggest `|` when very unlikely to be what was wanted (in `let` statements).
-
由 Jubilee Young 提交于
-
- 28 2月, 2022 13 次提交
-
-
由 Guillaume Gomez 提交于
-
由 Guillaume Gomez 提交于
-
由 bors 提交于
Rollup of 5 pull requests Successful merges: - #89793 (Add `slice::{from_ptr_range, from_mut_ptr_range} `) - #92642 (Update search location from a relative path to absolute) - #93389 (regression for issue 90847) - #93413 (Fix broken link from rustdoc docs to ayu theme) - #94365 (Fix MinGW target detection in raw-dylib) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
-
由 Matthias Krüger 提交于
Fix MinGW target detection in raw-dylib LLVM target doesn't have to be the same as Rust target so relying on it is wrong. It was one of concerns in https://github.com/rust-lang/rust/pull/88801 that was not fixed in https://github.com/rust-lang/rust/pull/90782.
-
由 Matthias Krüger 提交于
Fix broken link from rustdoc docs to ayu theme
-
由 Matthias Krüger 提交于
regression for issue 90847 Adds a regression test for issue #90847
-
由 Matthias Krüger 提交于
Update search location from a relative path to absolute This should address issue #90311.
-
由 Matthias Krüger 提交于
Add `slice::{from_ptr_range, from_mut_ptr_range} ` Adds `slice::{from_ptr_range, from_mut_ptr_range}` as counterparts to `slice::{as_ptr_range, as_mut_ptr_range}`.
-
由 bors 提交于
more complete sparc64 ABI fix for aggregates with floating point members Previous fix didn't handle nested structures at all.
-
由 Caio 提交于
Continuation of #94376. cc #53667
-
由 bors 提交于
Only create a single expansion for each inline integration. The inlining integrator used to create one expansion for each span from the callee body. This PR reverses the logic to create a single expansion for the whole call, which is more consistent with how macro expansions work for macros. This should remove the large memory regression in #91743.
-
由 bors 提交于
Apply noundef metadata to loads of types that do not permit raw init This matches the noundef attributes we apply on arguments/return types. Fixes (partially) #74378.
-
由 DrMeepster 提交于
-