]> git.lizzy.rs Git - rust.git/log
rust.git
2 years agoRemove `{Method,Trait}Def::is_unsafe`.
Nicholas Nethercote [Tue, 28 Jun 2022 01:44:37 +0000 (11:44 +1000)]
Remove `{Method,Trait}Def::is_unsafe`.

They are always `false`.

2 years agoRemove `Substructure::method_ident`.
Nicholas Nethercote [Tue, 28 Jun 2022 01:37:44 +0000 (11:37 +1000)]
Remove `Substructure::method_ident`.

It's unused.

2 years agoRemove unnecessary fields from `EnumNonMatchingCollapsed`.
Nicholas Nethercote [Mon, 27 Jun 2022 22:56:54 +0000 (08:56 +1000)]
Remove unnecessary fields from `EnumNonMatchingCollapsed`.

The `&[ast::Variant]` field isn't used.

The `Vec<Ident>` field is only used for its length, but that's always
the same as the length of the `&[Ident]` and so isn't necessary.

2 years agoUse `split_{first,last}` in `cs_fold1`.
Nicholas Nethercote [Tue, 28 Jun 2022 02:58:36 +0000 (12:58 +1000)]
Use `split_{first,last}` in `cs_fold1`.

It makes the code a little nicer to read.

2 years agoAuto merge of #98680 - matthiaskrgr:rollup-1bkrrn9, r=matthiaskrgr
bors [Wed, 29 Jun 2022 18:42:19 +0000 (18:42 +0000)]
Auto merge of #98680 - matthiaskrgr:rollup-1bkrrn9, r=matthiaskrgr

Rollup of 10 pull requests

Successful merges:

 - #98434 (Ensure that `static_crt` is set in the bootstrapper whenever using `cc-rs` to get a compiler command line.)
 - #98636 (Triagebot: Fix mentions word wrapping.)
 - #98642 (Fix #98260)
 - #98643 (Improve pretty printing of valtrees for references)
 - #98646 (rustdoc: fix bugs in main.js popover help and settings)
 - #98647 (Update cargo)
 - #98652 (`alloc`: clean and ensure `no_global_oom_handling`  builds are warning-free)
 - #98660 (Unbreak stage1 tests via ignore-stage1 in `proc-macro/invalid-punct-ident-1.rs`.)
 - #98665 (Use verbose help for deprecation suggestion)
 - #98668 (Avoid some `&str` to `String` conversions with `MultiSpan::push_span_label`)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup

2 years agoRollup merge of #98668 - TaKO8Ki:avoid-many-&str-to-string-conversions, r=Dylan-DPC
Matthias Krüger [Wed, 29 Jun 2022 18:35:07 +0000 (20:35 +0200)]
Rollup merge of #98668 - TaKO8Ki:avoid-many-&str-to-string-conversions, r=Dylan-DPC

Avoid some `&str` to `String` conversions with `MultiSpan::push_span_label`

This patch removes some`&str` to `String` conversions with `MultiSpan::push_span_label`.

2 years agoRollup merge of #98665 - ChrisDenton:deprecated-suggestion, r=compiler-errors
Matthias Krüger [Wed, 29 Jun 2022 18:35:06 +0000 (20:35 +0200)]
Rollup merge of #98665 - ChrisDenton:deprecated-suggestion, r=compiler-errors

Use verbose help for deprecation suggestion

Fixes #98631

r? `@compiler-errors`

2 years agoRollup merge of #98660 - eddyb:invalid-punct-stage1, r=lqd
Matthias Krüger [Wed, 29 Jun 2022 18:35:05 +0000 (20:35 +0200)]
Rollup merge of #98660 - eddyb:invalid-punct-stage1, r=lqd

Unbreak stage1 tests via ignore-stage1 in `proc-macro/invalid-punct-ident-1.rs`.

#98188 broke `./x.py test --stage 1` (which I thought we ran in PR CI, cc `@rust-lang/infra)` i.e. the default `./x.py test` in dev checkouts, as the panic in `src/test/ui/proc-macro/invalid-punct-ident-1.rs` moved from the server (`rustc`) to the client (proc macro), and that means it's now affected by #59998.

I made the test look like `src/test/ui-fulldeps/issue-76270-panic-in-libproc-macro.rs` tho I'm a bit confused why that one is in `src/test/ui-fulldeps`, it should still work in `src/test/ui`, no? (cc `@Aaron1011)`

2 years agoRollup merge of #98652 - ojeda:warning-free-no_global_oom_handling, r=joshtriplett
Matthias Krüger [Wed, 29 Jun 2022 18:35:04 +0000 (20:35 +0200)]
Rollup merge of #98652 - ojeda:warning-free-no_global_oom_handling, r=joshtriplett

`alloc`: clean and ensure `no_global_oom_handling`  builds are warning-free

Rust 1.62.0 introduced a couple new `unused_imports` warnings
in `no_global_oom_handling` builds, making a total of 5 warnings.

<details>

```txt
warning: unused import: `Unsize`
 --> library/alloc/src/boxed/thin.rs:6:33
  |
6 | use core::marker::{PhantomData, Unsize};
  |                                 ^^^^^^
  |
  = note: `#[warn(unused_imports)]` on by default

warning: unused import: `from_fn`
  --> library/alloc/src/string.rs:51:18
   |
51 | use core::iter::{from_fn, FusedIterator};
   |                  ^^^^^^^

warning: unused import: `core::ops::Deref`
  --> library/alloc/src/vec/into_iter.rs:12:5
   |
12 | use core::ops::Deref;
   |     ^^^^^^^^^^^^^^^^

warning: associated function `shrink` is never used
   --> library/alloc/src/raw_vec.rs:424:8
    |
424 |     fn shrink(&mut self, cap: usize) -> Result<(), TryReserveError> {
    |        ^^^^^^
    |
    = note: `#[warn(dead_code)]` on by default

warning: associated function `forget_remaining_elements` is never used
   --> library/alloc/src/vec/into_iter.rs:126:19
    |
126 |     pub(crate) fn forget_remaining_elements(&mut self) {
    |                   ^^^^^^^^^^^^^^^^^^^^^^^^^
```

</details>

This PR cleans them and ensures no new ones are introduced
so that projects compiling `alloc` without infallible allocations
do not see them (and may want to enable `-Dwarnings`).

The couple `dead_code` ones may be reverted when some fallible
allocation support starts using them.

2 years agoRollup merge of #98647 - ehuss:update-cargo, r=ehuss
Matthias Krüger [Wed, 29 Jun 2022 18:35:03 +0000 (20:35 +0200)]
Rollup merge of #98647 - ehuss:update-cargo, r=ehuss

Update cargo

2 commits in a5e08c4703f202e30cdaf80ca3e7c00baa59c496..dbff32b27893b899ae2397f3d56d1be111041d56
2022-06-23 20:12:03 +0000 to 2022-06-24 19:25:13 +0000
- Fetch GitHub commits by long hash more efficiently (rust-lang/cargo#10079)
- refactor(test): Clarify asserts are for UI (rust-lang/cargo#10778)

2 years agoRollup merge of #98646 - notriddle:notriddle/main.js, r=GuillaumeGomez
Matthias Krüger [Wed, 29 Jun 2022 18:35:02 +0000 (20:35 +0200)]
Rollup merge of #98646 - notriddle:notriddle/main.js, r=GuillaumeGomez

rustdoc: fix bugs in main.js popover help and settings

2 years agoRollup merge of #98643 - voidc:valtree-ref-pretty, r=lcnr
Matthias Krüger [Wed, 29 Jun 2022 18:35:01 +0000 (20:35 +0200)]
Rollup merge of #98643 - voidc:valtree-ref-pretty, r=lcnr

Improve pretty printing of valtrees for references

This implements the changes outlined in https://github.com/rust-lang/rust/issues/66451#issuecomment-1168859638.

r? `@lcnr`
Fixes #66451

2 years agoRollup merge of #98642 - yanchen4791:issue-98260-fix, r=spastorino
Matthias Krüger [Wed, 29 Jun 2022 18:35:00 +0000 (20:35 +0200)]
Rollup merge of #98642 - yanchen4791:issue-98260-fix, r=spastorino

Fix #98260

Fixes https://github.com/rust-lang/rust/issues/98260

2 years agoRollup merge of #98636 - ehuss:mentions-wrapping, r=Mark-Simulacrum
Matthias Krüger [Wed, 29 Jun 2022 18:34:59 +0000 (20:34 +0200)]
Rollup merge of #98636 - ehuss:mentions-wrapping, r=Mark-Simulacrum

Triagebot: Fix mentions word wrapping.

I forgot that GitHub's markdown treats newlines as hard breaks. This was causing some ugly-looking word wrapping in the triagebot mention messages. This fixes it so that the lines are not hard-wrapped.

2 years agoRollup merge of #98434 - dpaoliello:staticcrt, r=jyn514
Matthias Krüger [Wed, 29 Jun 2022 18:34:58 +0000 (20:34 +0200)]
Rollup merge of #98434 - dpaoliello:staticcrt, r=jyn514

Ensure that `static_crt` is set in the bootstrapper whenever using `cc-rs` to get a compiler command line.

When attempting to build rustc with LLVM on Windows, I noticed that the CRT flag provided to the C and C++ Compilers was inconsistent:

```
"-DCMAKE_C_FLAGS=-nologo -MT -Brepro" "-DCMAKE_CXX_FLAGS=-nologo -MD -Brepro"
```

Since the bootstrapper also sets the various `LLVM_USE_CRT` variables, this resulted in cl.exe reporting a bunch of warnings:

```
cl : Command line warning D9025 : overriding '/MD' with '/MT'
```

The root cause for this is that `cc_detect::find` was creating a `cc::Build` twice, but didn't set `static_crt` the second time.

It's possible that this what is also causing #81381

2 years agoAuto merge of #98669 - Dylan-DPC:rollup-8uzhcip, r=Dylan-DPC
bors [Wed, 29 Jun 2022 15:05:29 +0000 (15:05 +0000)]
Auto merge of #98669 - Dylan-DPC:rollup-8uzhcip, r=Dylan-DPC

Rollup of 7 pull requests

Successful merges:

 - #98415 (Migrate some `rustc_borrowck` diagnostics to `SessionDiagnostic`)
 - #98479 (Add `fetch_not` method on `AtomicBool`)
 - #98499 (Erase regions in New Abstract Consts)
 - #98516 (library: fix uefi va_list type definition)
 - #98554 (Fix box with custom allocator in miri)
 - #98607 (Clean up arg mismatch diagnostic, generalize tuple wrap suggestion)
 - #98625 (emit Retag for compound types with reference fields)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup

2 years agoRollup merge of #98625 - RalfJung:retag, r=oli-obk
Dylan DPC [Wed, 29 Jun 2022 12:29:37 +0000 (17:59 +0530)]
Rollup merge of #98625 - RalfJung:retag, r=oli-obk

emit Retag for compound types with reference fields

I want to add an option to Miri to do retagging inside reference fields. But that means we first have to even emit `Retag` for types that *contain* references (rather than being of reference types). :)

Stacked Borrows originally did that, but we stopped doing it when hitting bunch of issues in the standard library. However I have since realized that we actually do emit `noalias` for newtypes references, which means for soundness we should recurse into fields. Also it'd probably be bad news if newtypes lose out on optimizations (and they don't, for anything else). I want to add an option for that to Miri so that we can start experimenting with those semantics.

r? ``@oli-obk``

2 years agoRollup merge of #98607 - compiler-errors:tuple-wrap-suggestion, r=oli-obk
Dylan DPC [Wed, 29 Jun 2022 12:29:36 +0000 (17:59 +0530)]
Rollup merge of #98607 - compiler-errors:tuple-wrap-suggestion, r=oli-obk

Clean up arg mismatch diagnostic, generalize tuple wrap suggestion

This is based on top of #97542, so just look at the last commit which contains the relevant changes.

1. Remove `final_arg_types` which was one of the last places we were using raw (`usize`) indices instead of typed indices in the arg mismatch suggestion code.
2. Improve the tuple wrap suggestion, now we suggest things like `call(a, b, c, d)` -> `call(a, (b, c), d)` :smiley_cat:
3. Folded in fix #98645

2 years agoRollup merge of #98554 - DrMeepster:box_unsizing_is_not_special, r=RalfJung
Dylan DPC [Wed, 29 Jun 2022 12:29:35 +0000 (17:59 +0530)]
Rollup merge of #98554 - DrMeepster:box_unsizing_is_not_special, r=RalfJung

Fix box with custom allocator in miri

This should fix the failures in https://github.com/rust-lang/miri/pull/2072 and https://github.com/rust-lang/rust/pull/98510.

cc ```@RalfJung```

2 years agoRollup merge of #98516 - dlrobertson:uefi_va_list, r=joshtriplett
Dylan DPC [Wed, 29 Jun 2022 12:29:34 +0000 (17:59 +0530)]
Rollup merge of #98516 - dlrobertson:uefi_va_list, r=joshtriplett

library: fix uefi va_list type definition

For uefi the `va_list` should always be the void pointer variant.

Related to: https://github.com/rust-lang/rust/issues/44930

2 years agoRollup merge of #98499 - JulianKnodt:erase_lifetime, r=lcnr
Dylan DPC [Wed, 29 Jun 2022 12:29:33 +0000 (17:59 +0530)]
Rollup merge of #98499 - JulianKnodt:erase_lifetime, r=lcnr

Erase regions in New Abstract Consts

When an abstract const is constructed, we previously included lifetimes in the set of substitutes, so it was not able to unify two abstract consts if their lifetimes did not match but the values did, despite the values not depending on the lifetimes. This caused code that should have compiled to not compile.

Fixes #98452

r? ```@lcnr```

2 years agoRollup merge of #98479 - leocth:atomic-bool-fetch-not, r=joshtriplett
Dylan DPC [Wed, 29 Jun 2022 12:29:32 +0000 (17:59 +0530)]
Rollup merge of #98479 - leocth:atomic-bool-fetch-not, r=joshtriplett

Add `fetch_not` method on `AtomicBool`

This PR adds a `fetch_not` method on `AtomicBool` performs the NOT operation on the inner value.
Internally, this just calls the `fetch_xor` method with the value `true`.

[See this IRLO discussion](https://internals.rust-lang.org/t/could-we-have-fetch-not-for-atomicbool-s/16881)

2 years agoRollup merge of #98415 - compiler-errors:rustc-borrowck-session-diagnostic-1, r=davidtwco
Dylan DPC [Wed, 29 Jun 2022 12:29:31 +0000 (17:59 +0530)]
Rollup merge of #98415 - compiler-errors:rustc-borrowck-session-diagnostic-1, r=davidtwco

Migrate some `rustc_borrowck` diagnostics to `SessionDiagnostic`

Self-explanatory

r? ```@davidtwco```

2 years agoavoid many `&str` to `String` conversions with `MultiSpan::push_span_label`
Takayuki Maeda [Wed, 29 Jun 2022 12:16:43 +0000 (21:16 +0900)]
avoid many `&str` to `String` conversions with `MultiSpan::push_span_label`

2 years agoAuto merge of #98558 - nnethercote:smallvec-1.8.1, r=lqd
bors [Wed, 29 Jun 2022 09:11:29 +0000 (09:11 +0000)]
Auto merge of #98558 - nnethercote:smallvec-1.8.1, r=lqd

Update `smallvec` to 1.8.1.

This pulls in https://github.com/servo/rust-smallvec/pull/282, which
gives some small wins for rustc.

r? `@lqd`

2 years agoUse verbose help for deprecation suggestion
Chris Denton [Wed, 29 Jun 2022 08:36:12 +0000 (09:36 +0100)]
Use verbose help for deprecation suggestion

2 years agoImprove doc comment of destructure_const
Dominik Stolz [Wed, 29 Jun 2022 08:30:47 +0000 (10:30 +0200)]
Improve doc comment of destructure_const

2 years agoUnbreak stage1 tests via ignore-stage1 in `proc-macro/invalid-punct-ident-1.rs`.
Eduard-Mihai Burtescu [Wed, 29 Jun 2022 07:22:21 +0000 (07:22 +0000)]
Unbreak stage1 tests via ignore-stage1 in `proc-macro/invalid-punct-ident-1.rs`.

2 years agoAuto merge of #98656 - Dylan-DPC:rollup-hhytn0c, r=Dylan-DPC
bors [Wed, 29 Jun 2022 05:47:42 +0000 (05:47 +0000)]
Auto merge of #98656 - Dylan-DPC:rollup-hhytn0c, r=Dylan-DPC

Rollup of 7 pull requests

Successful merges:

 - #97423 (Simplify memory ordering intrinsics)
 - #97542 (Use typed indices in argument mismatch algorithm)
 - #97786 (Account for `-Z simulate-remapped-rust-src-base` when resolving remapped paths)
 - #98277 (Fix trait object reborrow suggestion)
 - #98525 (Add regression test for #79224)
 - #98549 (interpret: do not prune requires_caller_location stack frames quite so early)
 - #98603 (Some borrowck diagnostic fixes)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup

2 years agoRollup merge of #98603 - compiler-errors:minor-borrowck-diagnostic-fixes, r=davidtwco
Dylan DPC [Wed, 29 Jun 2022 04:58:24 +0000 (10:28 +0530)]
Rollup merge of #98603 - compiler-errors:minor-borrowck-diagnostic-fixes, r=davidtwco

Some borrowck diagnostic fixes

1. Remove some redundant `.as_ref` suggestion logic from borrowck, this has the consequence of also not suggesting `.as_ref` after `Option` methods, but (correctly) before.
2. Fix a bug where we were replacing a binding's name with a type. Instead, make it a note.

This is somewhat incomplete. See `src/test/ui/borrowck/suggest-as-ref-on-mut-closure.rs` for more improvements.

2 years agoRollup merge of #98549 - RalfJung:interpret-stacktraces, r=oli-obk
Dylan DPC [Wed, 29 Jun 2022 04:58:23 +0000 (10:28 +0530)]
Rollup merge of #98549 - RalfJung:interpret-stacktraces, r=oli-obk

interpret: do not prune requires_caller_location stack frames quite so early

https://github.com/rust-lang/rust/pull/87000 made the interpreter skip `caller_location` frames for its stacktraces and `cur_span`. However, those functions are used for much more than just panic reporting, and e.g. when Miri reports UB somewhere, it probably wants to point inside `caller_location` frames. (And if it did not, it would want to have its own logic to decide that, not be forced into it by the core interpreter engine.) This fixes some rare ICEs in Miri that say "we should never pop more than one frame at once".

So let's remove all `caller_location` logic from the core interpreter, and instead move it to CTFE error reporting. This does not change user-visible behavior. That's the first commit.

We might additionally want to change CTFE error reporting to treat panics differently from other errors: only prune `caller_location` frames for panics. The second commit does that. But honestly I am not sure if this is an improvement.

r? ``@oli-obk``

2 years agoRollup merge of #98525 - JohnTitor:issue-79224, r=compiler-errors
Dylan DPC [Wed, 29 Jun 2022 04:58:22 +0000 (10:28 +0530)]
Rollup merge of #98525 - JohnTitor:issue-79224, r=compiler-errors

Add regression test for #79224

Closes #79224
r? `@compiler-errors`

Signed-off-by: Yuki Okushi <jtitor@2k36.org>
2 years agoRollup merge of #98277 - compiler-errors:issue-93596, r=estebank
Dylan DPC [Wed, 29 Jun 2022 04:58:21 +0000 (10:28 +0530)]
Rollup merge of #98277 - compiler-errors:issue-93596, r=estebank

Fix trait object reborrow suggestion

Fixes #93596

Slightly generalizes the logic we use to suggest fix first implemented in #95609, specifically when we have a `Sized` obligation that comes from a struct's unsized tail.

2 years agoRollup merge of #97786 - ferrocene:pa-fix-simulate-remap-prefix, r=Mark-Simulacrum
Dylan DPC [Wed, 29 Jun 2022 04:58:20 +0000 (10:28 +0530)]
Rollup merge of #97786 - ferrocene:pa-fix-simulate-remap-prefix, r=Mark-Simulacrum

Account for `-Z simulate-remapped-rust-src-base` when resolving remapped paths

Discovered in #97682, `-Z simulate-remapped-rust-src-base` only partially simulated the behavior of `remap-debuginfo = true`. While the flag successfully simulates the remapping when stdlib's `rmeta` file is loaded, the simulated prefix was not accounted for when the remapped path's local path was being discovered. This caused the flag to not fully simulate the behavior of `remap-debuginfo = true`, leading to inconsistent behaviors.

This PR fixes https://github.com/rust-lang/rust/issues/97682 by also accounting for the simulated path.

2 years agoRollup merge of #97542 - compiler-errors:arg-mismatch, r=jackh726
Dylan DPC [Wed, 29 Jun 2022 04:58:19 +0000 (10:28 +0530)]
Rollup merge of #97542 - compiler-errors:arg-mismatch, r=jackh726

Use typed indices in argument mismatch algorithm

I kinda went overboard with the renames, but in general, "arg" is renamed to "expected", and "input" is renamed to "provided", and we use new typed indices to make sure we're indexing into the right sized array.

Other drive-by changes:
1. Factor this logic into a new function, so we don't need to `break 'label` to escape it.
1. Factored out dependence on `final_arg_types`, which is never populated for arguments greater than the number of expected args. Instead, we just grab the final coerced expression type from `in_progress_typeck_results`.
1. Adjust the criteria we use to print (provided) type names, before we didn't suggest anything that had infer vars, but now we suggest thing that have infer vars but aren't `_`.

~Also, sorry in advance, I kinda want to backport this but I know I have folded in a lot of unnecessary drive-by changes that might discourage that. I would be open to brainstorming how to get some of these changes on beta at least.~ edit: Minimized the ICE-fixing changes to #97557

cc `@jackh726` as author of #92364, and `@estebank` as reviewer of the PR.
fixes #97484

2 years agoRollup merge of #97423 - m-ou-se:memory-ordering-intrinsics, r=tmiasko
Dylan DPC [Wed, 29 Jun 2022 04:58:18 +0000 (10:28 +0530)]
Rollup merge of #97423 - m-ou-se:memory-ordering-intrinsics, r=tmiasko

Simplify memory ordering intrinsics

This changes the names of the atomic intrinsics to always fully include their memory ordering arguments.

```diff
- atomic_cxchg
+ atomic_cxchg_seqcst_seqcst

- atomic_cxchg_acqrel
+ atomic_cxchg_acqrel_release

- atomic_cxchg_acqrel_failrelaxed
+ atomic_cxchg_acqrel_relaxed

// And so on.
```

- `seqcst` is no longer implied
- The failure ordering on chxchg is no longer implied in some cases, but now always explicitly part of the name.
- `release` is no longer shortened to just `rel`. That was especially confusing, since `relaxed` also starts with `rel`.
- `acquire` is no longer shortened to just `acq`, such that the names now all match the `std::sync::atomic::Ordering` variants exactly.
- This now allows for more combinations on the compare exchange operations, such as `atomic_cxchg_acquire_release`, which is necessary for #68464.
- This PR only exposes the new possibilities through unstable intrinsics, but not yet through the stable API. That's for [a separate PR](https://github.com/rust-lang/rust/pull/98383) that requires an FCP.

Suffixes for operations with a single memory order:

| Order   | Before       | After      |
|---------|--------------|------------|
| Relaxed | `_relaxed`   | `_relaxed` |
| Acquire | `_acq`       | `_acquire` |
| Release | `_rel`       | `_release` |
| AcqRel  | `_acqrel`    | `_acqrel`  |
| SeqCst  | (none)       | `_seqcst`  |

Suffixes for compare-and-exchange operations with two memory orderings:

| Success | Failure | Before                   | After              |
|---------|---------|--------------------------|--------------------|
| Relaxed | Relaxed | `_relaxed`               | `_relaxed_relaxed` |
| Relaxed | Acquire | :x:                      | `_relaxed_acquire` |
| Relaxed | SeqCst  | :x:                      | `_relaxed_seqcst`  |
| Acquire | Relaxed | `_acq_failrelaxed`       | `_acquire_relaxed` |
| Acquire | Acquire | `_acq`                   | `_acquire_acquire` |
| Acquire | SeqCst  | :x:                      | `_acquire_seqcst`  |
| Release | Relaxed | `_rel`                   | `_release_relaxed` |
| Release | Acquire | :x:                      | `_release_acquire` |
| Release | SeqCst  | :x:                      | `_release_seqcst`  |
| AcqRel  | Relaxed | `_acqrel_failrelaxed`    | `_acqrel_relaxed`  |
| AcqRel  | Acquire | `_acqrel`                | `_acqrel_acquire`  |
| AcqRel  | SeqCst  | :x:                      | `_acqrel_seqcst`   |
| SeqCst  | Relaxed | `_failrelaxed`           | `_seqcst_relaxed`  |
| SeqCst  | Acquire | `_failacq`               | `_seqcst_acquire`  |
| SeqCst  | SeqCst  | (none)                   | `_seqcst_seqcst`   |

2 years agoErase regions in new abstract consts
kadmin [Sat, 25 Jun 2022 09:59:48 +0000 (09:59 +0000)]
Erase regions in new abstract consts

2 years agoAuto merge of #98542 - jackh726:coinductive-wf, r=oli-obk
bors [Wed, 29 Jun 2022 03:22:47 +0000 (03:22 +0000)]
Auto merge of #98542 - jackh726:coinductive-wf, r=oli-obk

Make empty bounds lower to `WellFormed` and make `WellFormed` coinductive

r? rust-lang/types

2 years agoalloc: ensure `no_global_oom_handling` builds are warning-free
Miguel Ojeda [Wed, 29 Jun 2022 02:02:21 +0000 (04:02 +0200)]
alloc: ensure `no_global_oom_handling` builds are warning-free

Rust 1.62.0 introduced a couple new `unused_imports` warnings
in `no_global_oom_handling` builds, making a total of 5 warnings.

To avoid accumulating more over time, let's keep the builds
warning-free. This ensures projects compiling `alloc` without
infallible allocations do not see the warnings in the future
and that they can keep enabling `-Dwarnings`.

Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
2 years agoalloc: fix `no_global_oom_handling` warnings
Miguel Ojeda [Tue, 28 Jun 2022 23:09:02 +0000 (01:09 +0200)]
alloc: fix `no_global_oom_handling` warnings

Rust 1.62.0 introduced a couple new `unused_imports` warnings
in `no_global_oom_handling` builds, making a total of 5 warnings:

```txt
warning: unused import: `Unsize`
 --> library/alloc/src/boxed/thin.rs:6:33
  |
6 | use core::marker::{PhantomData, Unsize};
  |                                 ^^^^^^
  |
  = note: `#[warn(unused_imports)]` on by default

warning: unused import: `from_fn`
  --> library/alloc/src/string.rs:51:18
   |
51 | use core::iter::{from_fn, FusedIterator};
   |                  ^^^^^^^

warning: unused import: `core::ops::Deref`
  --> library/alloc/src/vec/into_iter.rs:12:5
   |
12 | use core::ops::Deref;
   |     ^^^^^^^^^^^^^^^^

warning: associated function `shrink` is never used
   --> library/alloc/src/raw_vec.rs:424:8
    |
424 |     fn shrink(&mut self, cap: usize) -> Result<(), TryReserveError> {
    |        ^^^^^^
    |
    = note: `#[warn(dead_code)]` on by default

warning: associated function `forget_remaining_elements` is never used
   --> library/alloc/src/vec/into_iter.rs:126:19
    |
126 |     pub(crate) fn forget_remaining_elements(&mut self) {
    |                   ^^^^^^^^^^^^^^^^^^^^^^^^^
```

This patch cleans them so that projects compiling `alloc` without
infallible allocations do not see the warnings. It also enables
the use of `-Dwarnings`.

The couple `dead_code` ones may be reverted when some fallible
allocation support starts using them.

Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
2 years agoDon't point at another arg if we're already pointing at one
Michael Goulet [Wed, 29 Jun 2022 02:32:12 +0000 (19:32 -0700)]
Don't point at another arg if we're already pointing at one

2 years agorustdoc: add assertion for missing popover div
Michael Howell [Wed, 29 Jun 2022 00:30:58 +0000 (17:30 -0700)]
rustdoc: add assertion for missing popover div

2 years agorustdoc: make keyboard commands work when checkboxes are selected
Michael Howell [Tue, 28 Jun 2022 22:06:48 +0000 (15:06 -0700)]
rustdoc: make keyboard commands work when checkboxes are selected

2 years agorustdoc: fix keyboard shortcuts bug in settings menu
Michael Howell [Tue, 28 Jun 2022 21:56:24 +0000 (14:56 -0700)]
rustdoc: fix keyboard shortcuts bug in settings menu

This commit fixes the keyboard shorts code to call localStorage every time a
key is pressed. This matters because you're supposed to be able to change a
setting and have it immediately take effect.

2 years agoAuto merge of #98376 - nnethercote:improve-derive-PartialEq, r=petrochenkov
bors [Wed, 29 Jun 2022 00:20:57 +0000 (00:20 +0000)]
Auto merge of #98376 - nnethercote:improve-derive-PartialEq, r=petrochenkov

Improve some deriving code and add a test

The `.stdout` test is particularly useful.

r? `@petrochenkov`

2 years agorustdoc: fix help menu popover toggling
Michael Howell [Tue, 28 Jun 2022 21:16:05 +0000 (14:16 -0700)]
rustdoc: fix help menu popover toggling

2 years agoMigrate some rustc_borrowck diagnostics to SessionDiagnostic
Michael Goulet [Thu, 23 Jun 2022 04:43:01 +0000 (21:43 -0700)]
Migrate some rustc_borrowck diagnostics to SessionDiagnostic

2 years agoDo not use a suggestion to change a binding's name to a type
Michael Goulet [Tue, 28 Jun 2022 03:23:24 +0000 (20:23 -0700)]
Do not use a suggestion to change a binding's name to a type

2 years agoRemove redundant logic to suggest `as_ref`
Michael Goulet [Mon, 27 Jun 2022 22:43:23 +0000 (15:43 -0700)]
Remove redundant logic to suggest `as_ref`

2 years agoUpdate cargo
Eric Huss [Tue, 28 Jun 2022 22:31:42 +0000 (15:31 -0700)]
Update cargo

2 years agoFix #98260, added the test case
Yan Chen [Tue, 28 Jun 2022 19:46:42 +0000 (12:46 -0700)]
Fix #98260, added the test case

2 years agoNote concrete type being coerced into object
Michael Goulet [Mon, 20 Jun 2022 04:04:06 +0000 (21:04 -0700)]
Note concrete type being coerced into object

2 years agoFix trait object reborrow suggestion
Michael Goulet [Mon, 20 Jun 2022 03:49:07 +0000 (20:49 -0700)]
Fix trait object reborrow suggestion

2 years agoAuto merge of #98475 - notriddle:notriddle/index-fn-signatures, r=GuillaumeGomez
bors [Tue, 28 Jun 2022 21:40:10 +0000 (21:40 +0000)]
Auto merge of #98475 - notriddle:notriddle/index-fn-signatures, r=GuillaumeGomez

rustdoc: reference function signature types from the `p` array

This reduces the size of the function signature index, because it's common to have many functions that operate on the same types.

    $ wc -c search-index-old.js search-index-new.js
    5224374 search-index-old.js
    3932314 search-index-new.js

By my math, this reduces the uncompressed size of the search index by 32%.
On compressed signatures, the wins are less drastic, a mere 8%:

    $ wc -c search-index-old.js.gz search-index-new.js.gz
    404532 search-index-old.js.gz
    371635 search-index-new.js.gz

2 years agoAddress code review comments
Dominik Stolz [Tue, 28 Jun 2022 21:26:54 +0000 (23:26 +0200)]
Address code review comments

2 years agofix silly mistake
DrMeepster [Tue, 28 Jun 2022 20:48:13 +0000 (13:48 -0700)]
fix silly mistake

you should always run x.py check before pushing

2 years agoMake consts mod private
Dominik Stolz [Tue, 28 Jun 2022 20:45:05 +0000 (22:45 +0200)]
Make consts mod private

2 years agoImprove pretty printing of valtrees for references
Dominik Stolz [Tue, 28 Jun 2022 20:35:48 +0000 (22:35 +0200)]
Improve pretty printing of valtrees for references

2 years agoTriagebot: Fix mentions word wrapping.
Eric Huss [Tue, 28 Jun 2022 18:38:07 +0000 (11:38 -0700)]
Triagebot: Fix mentions word wrapping.

2 years agoAuto merge of #98632 - matthiaskrgr:rollup-peg868d, r=matthiaskrgr
bors [Tue, 28 Jun 2022 18:36:42 +0000 (18:36 +0000)]
Auto merge of #98632 - matthiaskrgr:rollup-peg868d, r=matthiaskrgr

Rollup of 11 pull requests

Successful merges:

 - #98548 (rustdoc-json: Allow Typedef to be different in sanity assert)
 - #98560 (Add regression test for #85907)
 - #98564 (Remove references to `./tmp` in-tree)
 - #98602 (Add regression test for #80074)
 - #98606 (:arrow_up: rust-analyzer)
 - #98609 (Fix ICE for associated constant generics)
 - #98611 (Fix glob import ICE in rustdoc JSON format)
 - #98617 (Remove feature `const_option` from std)
 - #98619 (Fix mir-opt wg name)
 - #98621 (llvm-wrapper: adapt for removal of the ASanGlobalsMetadataAnalysis LLVM API)
 - #98623 (fix typo in comment)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup

2 years agoRollup merge of #98623 - pro465:patch-1, r=Dylan-DPC
Matthias Krüger [Tue, 28 Jun 2022 16:34:36 +0000 (18:34 +0200)]
Rollup merge of #98623 - pro465:patch-1, r=Dylan-DPC

fix typo in comment

2 years agoRollup merge of #98621 - krasimirgg:llvm-15-wrapper, r=nikic
Matthias Krüger [Tue, 28 Jun 2022 16:34:35 +0000 (18:34 +0200)]
Rollup merge of #98621 - krasimirgg:llvm-15-wrapper, r=nikic

llvm-wrapper: adapt for removal of the ASanGlobalsMetadataAnalysis LLVM API

No functional changes intended.

This adapts llvm-wrapper for https://github.com/llvm/llvm-project/commit/dacfa24f75c328ae30b710ecadaa18e4ba10cdc6, which removed `ASanGlobalsMetadataAnalysis`.

Found via our experimental rust + HEAD llvm bot: https://buildkite.com/llvm-project/rust-llvm-integrate-prototype/builds/11565#0181a72f-75bb-4378-88f0-4c0bca7d03fa/231-505.

2 years agoRollup merge of #98619 - Mark-Simulacrum:fix-triagebot, r=Dylan-DPC
Matthias Krüger [Tue, 28 Jun 2022 16:34:34 +0000 (18:34 +0200)]
Rollup merge of #98619 - Mark-Simulacrum:fix-triagebot, r=Dylan-DPC

Fix mir-opt wg name

r? ``@ehuss``

2 years agoRollup merge of #98617 - ChrisDenton:const-unwrap, r=Mark-Simulacrum
Matthias Krüger [Tue, 28 Jun 2022 16:34:33 +0000 (18:34 +0200)]
Rollup merge of #98617 - ChrisDenton:const-unwrap, r=Mark-Simulacrum

Remove feature `const_option` from std

This is part of the effort to reduce the number of unstable features used by std. This one is easy as it's only used in one place.

2 years agoRollup merge of #98611 - GuillaumeGomez:rustdoc-json-glob-ice, r=notriddle
Matthias Krüger [Tue, 28 Jun 2022 16:34:32 +0000 (18:34 +0200)]
Rollup merge of #98611 - GuillaumeGomez:rustdoc-json-glob-ice, r=notriddle

Fix glob import ICE in rustdoc JSON format

Fixes #98003.

r? `@notriddle`

2 years agoRollup merge of #98609 - TaKO8Ki:fix-ice-for-associated-constant-generics, r=lcnr
Matthias Krüger [Tue, 28 Jun 2022 16:34:31 +0000 (18:34 +0200)]
Rollup merge of #98609 - TaKO8Ki:fix-ice-for-associated-constant-generics, r=lcnr

Fix ICE for associated constant generics

Fixes #98432

2 years agoRollup merge of #98606 - lnicola:rust-analyzer-2022-06-28, r=lnicola
Matthias Krüger [Tue, 28 Jun 2022 16:34:30 +0000 (18:34 +0200)]
Rollup merge of #98606 - lnicola:rust-analyzer-2022-06-28, r=lnicola

:arrow_up: rust-analyzer

r? ``@ghost``

2 years agoRollup merge of #98602 - TaKO8Ki:add-regression-test-for-issue-80074, r=Mark-Simulacrum
Matthias Krüger [Tue, 28 Jun 2022 16:34:29 +0000 (18:34 +0200)]
Rollup merge of #98602 - TaKO8Ki:add-regression-test-for-issue-80074, r=Mark-Simulacrum

Add regression test for #80074

closes #80074

2 years agoRollup merge of #98564 - jyn514:remove-tmp-dir, r=Mark-Simulacrum
Matthias Krüger [Tue, 28 Jun 2022 16:34:28 +0000 (18:34 +0200)]
Rollup merge of #98564 - jyn514:remove-tmp-dir, r=Mark-Simulacrum

Remove references to `./tmp` in-tree

These used to be used by codegen-units tests, but were switched from manually specifying directories
to just using `// incremental` in https://github.com/rust-lang/rust/pull/89101.
Remove the old references.

Fixes https://github.com/rust-lang/rust/issues/34586.

2 years agoRollup merge of #98560 - TaKO8Ki:add-regression-test-for-85907, r=Mark-Simulacrum
Matthias Krüger [Tue, 28 Jun 2022 16:34:27 +0000 (18:34 +0200)]
Rollup merge of #98560 - TaKO8Ki:add-regression-test-for-85907, r=Mark-Simulacrum

Add regression test for #85907

closes #85907

2 years agoRollup merge of #98548 - Enselic:allow-typedef-diff-for-rustdoc-json, r=GuillaumeGomez
Matthias Krüger [Tue, 28 Jun 2022 16:34:26 +0000 (18:34 +0200)]
Rollup merge of #98548 - Enselic:allow-typedef-diff-for-rustdoc-json, r=GuillaumeGomez

rustdoc-json: Allow Typedef to be different in sanity assert

Closes #98547

This fix is a natural extension of #98053.

r? `@notriddle`

(Since you reviewed the other PR.)

CC `@GuillaumeGomez`

`@rustbot` labels +A-rustdoc-json +T-rustdoc

2 years agoAuto merge of #98188 - mystor:fast_group_punct, r=eddyb
bors [Tue, 28 Jun 2022 16:10:30 +0000 (16:10 +0000)]
Auto merge of #98188 - mystor:fast_group_punct, r=eddyb

proc_macro/bridge: stop using a remote object handle for proc_macro Punct and Group

This is the third part of https://github.com/rust-lang/rust/pull/86822, split off as requested in https://github.com/rust-lang/rust/pull/86822#pullrequestreview-1008655452. This patch transforms the `Punct` and `Group` types into structs serialized over IPC rather than handles, making them more efficient to create and manipulate from within proc-macros.

2 years agoemit Retag for compound types with reference fields
Ralf Jung [Tue, 28 Jun 2022 15:03:50 +0000 (11:03 -0400)]
emit Retag for compound types with reference fields

2 years agofix typo in comment
Proloy Mishra [Tue, 28 Jun 2022 14:29:09 +0000 (19:59 +0530)]
fix typo in comment

2 years agollvm-wrapper: adapt for an LLVM API change
Krasimir Georgiev [Tue, 28 Jun 2022 14:08:35 +0000 (14:08 +0000)]
llvm-wrapper: adapt for an LLVM API change

This adapts llvm-wrapper for
https://github.com/llvm/llvm-project/commit/dacfa24f75c328ae30b710ecadaa18e4ba10cdc6,
which removed ASanGlobalsMetadataAnalysis.

2 years agoreview changes
Nika Layzell [Tue, 28 Jun 2022 00:03:56 +0000 (20:03 -0400)]
review changes

longer names for RPC generics and reduced dependency on macros in the server.

2 years agoAuto merge of #98612 - Dylan-DPC:rollup-7tasikc, r=Dylan-DPC
bors [Tue, 28 Jun 2022 13:46:43 +0000 (13:46 +0000)]
Auto merge of #98612 - Dylan-DPC:rollup-7tasikc, r=Dylan-DPC

Rollup of 9 pull requests

Successful merges:

 - #97346 (Remove a back-compat hack on lazy TAIT)
 - #98261 (Remove `MAX_SUGGESTION_HIGHLIGHT_LINES`)
 - #98337 ([RFC 2011] Optimize non-consuming operators)
 - #98384 (Fix RSS reporting on macOS)
 - #98420 (translation: lint fix + more migration)
 - #98430 (Refactor iter adapters with less macros)
 - #98555 (Hermit: Fix initializing lazy locks)
 - #98595 (Implement `Send` and `Sync` for `ThinBox<T>`)
 - #98597 (Remove unstable CStr/CString change from 1.62 release note)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup

2 years agoFix mir-opt wg name
Mark Rousskov [Tue, 28 Jun 2022 12:14:42 +0000 (08:14 -0400)]
Fix mir-opt wg name

2 years agoAdd a fixme comment
Chris Denton [Tue, 28 Jun 2022 11:18:16 +0000 (12:18 +0100)]
Add a fixme comment

2 years agoRemove feature `const_option` from std
Chris Denton [Tue, 28 Jun 2022 10:37:48 +0000 (11:37 +0100)]
Remove feature `const_option` from std

2 years agoRollup merge of #98597 - wwylele:patch-1, r=Mark-Simulacrum
Dylan DPC [Tue, 28 Jun 2022 10:00:08 +0000 (15:30 +0530)]
Rollup merge of #98597 - wwylele:patch-1, r=Mark-Simulacrum

Remove unstable CStr/CString change from 1.62 release note

(Discovered in https://github.com/rust-lang/rust/pull/98571#discussion_r907469604)

The change to move CStr/CString to core/alloc is currently behind feature flags as stated in https://github.com/rust-lang/rust/issues/98314

2 years agoRollup merge of #98595 - cuviper:send-sync-thinbox, r=m-ou-se
Dylan DPC [Tue, 28 Jun 2022 10:00:07 +0000 (15:30 +0530)]
Rollup merge of #98595 - cuviper:send-sync-thinbox, r=m-ou-se

Implement `Send` and `Sync` for `ThinBox<T>`

Just like `Box<T>`, `ThinBox<T>` owns its data on the heap, so it should
implement `Send` and `Sync` when `T` does.

This extends tracking issue #92791.

2 years agoRollup merge of #98555 - mkroening:hermit-lock-init, r=m-ou-se
Dylan DPC [Tue, 28 Jun 2022 10:00:06 +0000 (15:30 +0530)]
Rollup merge of #98555 - mkroening:hermit-lock-init, r=m-ou-se

Hermit: Fix initializing lazy locks

Closes https://github.com/hermitcore/rusty-hermit/issues/322.

The initialization function of hermit's `Condvar` is not called since https://github.com/rust-lang/rust/pull/97647 and was erroneously removed in https://github.com/rust-lang/rust/pull/97879.

r? ``@m-ou-se``

CC: ``@stlankes``
2 years agoRollup merge of #98430 - camsteffen:flatten-refactor, r=joshtriplett
Dylan DPC [Tue, 28 Jun 2022 10:00:05 +0000 (15:30 +0530)]
Rollup merge of #98430 - camsteffen:flatten-refactor, r=joshtriplett

Refactor iter adapters with less macros

Just some code cleanup. Introduced a util `and_then_or_clear` for each of chain, flatten and fuse iter adapter impls. This reduces code nicely for flatten, but admittedly the other modules are more of a lateral move replacing macros with a function. But I think consistency across the modules and avoiding macros when possible is good.

2 years agoRollup merge of #98420 - davidtwco:translation-lint-fixes-and-more-migration, r=compi...
Dylan DPC [Tue, 28 Jun 2022 10:00:04 +0000 (15:30 +0530)]
Rollup merge of #98420 - davidtwco:translation-lint-fixes-and-more-migration, r=compiler-errors

translation: lint fix + more migration

- Unfortunately, the diagnostic lints are very broken and trigger much more often than they should. This PR corrects the conditional which checks if the function call being made is to a diagnostic function so that it returns in every intended case.
- The `rustc_lint_diagnostics` attribute is used by the diagnostic translation/struct migration lints to identify calls where non-translatable diagnostics or diagnostics outwith impls are being created. Any function used in creating a diagnostic should be annotated with this attribute so this PR adds the attribute to many more functions.
- Port the diagnostics from the `rustc_privacy` crate and enable the lints for that crate.

r? ``@compiler-errors``

2 years agoRollup merge of #98384 - rdzhaafar:fix-macos-rss-reporting, r=davidtwco,michaelwoerister
Dylan DPC [Tue, 28 Jun 2022 10:00:03 +0000 (15:30 +0530)]
Rollup merge of #98384 - rdzhaafar:fix-macos-rss-reporting, r=davidtwco,michaelwoerister

Fix RSS reporting on macOS

> NOTE: This is a duplicate of #98164, which I closed because I borked my rustc fork

Currently, `rustc_data_structures::profiling::get_resident_set_size()` always returns `None` on macOS. This is because
macOS does not implement procfs used in the unix version of the function:

```rust
...
else if #[cfg(unix)] {
        pub fn get_resident_set_size() -> Option<usize> {
            let field = 1;
            let contents = fs::read("/proc/self/statm").ok()?;
            let contents = String::from_utf8(contents).ok()?;
            let s = contents.split_whitespace().nth(field)?;
            let npages = s.parse::<usize>().ok()?;
            Some(npages * 4096)
        }
...
```

The proposed solution uses libproc, and more specifically `proc_pidinfo`, which has been available on macOS since 10.5 if the function signature inside libproc.h is to be believed:

```c
int proc_pidinfo(int pid, int flavor, uint64_t arg, void *buffer, int buffersize) __OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_2_0);
```

2 years agoRollup merge of #98337 - c410-f3r:assert-compiler, r=oli-obk
Dylan DPC [Tue, 28 Jun 2022 10:00:02 +0000 (15:30 +0530)]
Rollup merge of #98337 - c410-f3r:assert-compiler, r=oli-obk

[RFC 2011] Optimize non-consuming operators

Tracking issue: https://github.com/rust-lang/rust/issues/44838
Fifth step of https://github.com/rust-lang/rust/pull/96496

The most non-invasive approach that will probably have very little to no performance impact.

## Current behaviour

Captures are handled "on-the-fly", i.e., they are performed in the same place expressions are located.

```rust
// `let a = 1; let b = 2; assert!(a > 1 && b < 100);`

if !(
  { ***try capture `a` and then return `a`*** } > 1 && { ***try capture `b` and then return `b`*** } < 100
) {
  panic!( ... );
}
```

As such, some overhead is likely to occur (Specially with very large chains of conditions).

## New behaviour for non-consuming operators

When an operator is known to not take `self`, then it is possible to capture variables **AFTER** the condition.

```rust
// `let a = 1; let b = 2; assert!(a > 1 && b < 100);`

if !( a > 1 && b < 100 ) {
  { ***try capture `a`*** }
  { ***try capture `b`*** }
  panic!( ... );
}
```

So the possible impact on the runtime execution time will be diminished.

r? ````@oli-obk````

2 years agoRollup merge of #98261 - WaffleLapkin:attempt_to_remove_max_suggestion_highlight_line...
Dylan DPC [Tue, 28 Jun 2022 10:00:01 +0000 (15:30 +0530)]
Rollup merge of #98261 - WaffleLapkin:attempt_to_remove_max_suggestion_highlight_lines, r=flip1995

Remove `MAX_SUGGESTION_HIGHLIGHT_LINES`

After #97798 the `MAX_SUGGESTION_HIGHLIGHT_LINES` constant doesn't really make sense since we always show full suggestions. This PR removes last usages of the constant and the constant itself.

r? ``@flip1995`` (this mostly does changes in clippy)

2 years agoRollup merge of #97346 - JohnTitor:remove-back-compat-hacks, r=oli-obk
Dylan DPC [Tue, 28 Jun 2022 10:00:00 +0000 (15:30 +0530)]
Rollup merge of #97346 - JohnTitor:remove-back-compat-hacks, r=oli-obk

Remove a back-compat hack on lazy TAIT

This PR's motivation is here: https://github.com/rust-lang/rust/issues/72614#issuecomment-1134595446
~~But removing a hack doesn't seem to reject the code on the issue, there're some more hacks?~~
r? ``@oli-obk``

2 years agoAuto merge of #98396 - cjgillot:iwfchir, r=petrochenkov
bors [Tue, 28 Jun 2022 09:48:18 +0000 (09:48 +0000)]
Auto merge of #98396 - cjgillot:iwfchir, r=petrochenkov

Do not access HIR to check impl wf.

r? `@ghost`

2 years agoAdd regression test for glob import ICE in rustdoc JSON
Guillaume Gomez [Tue, 28 Jun 2022 09:46:24 +0000 (11:46 +0200)]
Add regression test for glob import ICE in rustdoc JSON

2 years agoFix glob import ICE in rustdoc JSON format
Guillaume Gomez [Tue, 28 Jun 2022 09:46:03 +0000 (11:46 +0200)]
Fix glob import ICE in rustdoc JSON format

2 years agofix ice for associated constant generics
Takayuki Maeda [Tue, 28 Jun 2022 09:29:07 +0000 (18:29 +0900)]
fix ice for associated constant generics

2 years agoValidate all fields of box instead of validating allocator specifically
DrMeepster [Tue, 28 Jun 2022 09:19:52 +0000 (02:19 -0700)]
Validate all fields of box instead of validating allocator specifically

2 years agotest/rustdoc-json/assoc_type.rs: Maximize chance of detecting future ICEs
Martin Nordholts [Tue, 28 Jun 2022 09:02:14 +0000 (11:02 +0200)]
test/rustdoc-json/assoc_type.rs: Maximize chance of detecting future ICEs

2 years agorustdoc-json: Add assoc type ICE regression test
Martin Nordholts [Sun, 26 Jun 2022 18:22:04 +0000 (20:22 +0200)]
rustdoc-json: Add assoc type ICE regression test

2 years agoRemove `final_arg_types`, improve tuple wrapping suggestion
Michael Goulet [Tue, 28 Jun 2022 07:12:49 +0000 (00:12 -0700)]
Remove `final_arg_types`, improve tuple wrapping suggestion

2 years agoRename/restructure memory ordering intrinsics.
Mara Bos [Wed, 22 Jun 2022 11:02:23 +0000 (13:02 +0200)]
Rename/restructure memory ordering intrinsics.

2 years ago:arrow_up: rust-analyzer
Laurențiu Nicola [Tue, 28 Jun 2022 06:54:21 +0000 (09:54 +0300)]
:arrow_up: rust-analyzer

2 years agoAuto merge of #98324 - conradludgate:write-vectored-vec, r=Mark-Simulacrum
bors [Tue, 28 Jun 2022 06:25:19 +0000 (06:25 +0000)]
Auto merge of #98324 - conradludgate:write-vectored-vec, r=Mark-Simulacrum

attempt to optimise vectored write

benchmarked:

old:
```
test io::cursor::tests::bench_write_vec                     ... bench:          68 ns/iter (+/- 2)
test io::cursor::tests::bench_write_vec_vectored            ... bench:         913 ns/iter (+/- 31)
```

new:
```
test io::cursor::tests::bench_write_vec                     ... bench:          64 ns/iter (+/- 0)
test io::cursor::tests::bench_write_vec_vectored            ... bench:         747 ns/iter (+/- 27)
```

More unsafe than I wanted (and less gains) in the end, but it still does the job