Commit graph

26411 commits

Author SHA1 Message Date
bors
35fc289ad0 Auto merge of #113777 - nnethercote:overlap-based-cgu-merging, r=pnkfelix
Inline overlap based CGU merging

Introduce a new CGU merging algorithm that aims to minimize the number of duplicated inlined items.

r? `@wesleywiser`
2023-07-18 22:36:17 +00:00
bors
bed267a7d6 Auto merge of #113706 - Alexendoo:compiletest-backslash-re, r=oli-obk
Fix compiletest windows path finding with spaces

With `(?x)` enabled spaces are ignored unless you escape them, so the space wasn't being added to the character class

I don't think this makes any difference to the current test suite, but it could save someone a headache in the future
2023-07-18 11:33:02 +00:00
bors
437e17e9b0 Auto merge of #113677 - bryangarza:unevaluated-const-ice_issue-110892, r=davidtwco
Safe Transmute: Fix ICE (due to UnevaluatedConst)

This patch updates the code that looks at the `Assume` type when evaluating if transmutation is possible. An ICE was being triggered in the case that the `Assume` parameter contained an unevaluated const (in this test case, due to a function with missing parameter names).

Fixes #110892
2023-07-18 09:07:32 +00:00
bors
9237a79080 Auto merge of #113574 - GuillaumeGomez:rustdoc-json-strip-hidden-impl, r=aDotInTheVoid,notriddle
Strip impl if not re-exported and is doc(hidden)

Part of #112852.

r? `@aDotInTheVoid`
2023-07-18 02:47:03 +00:00
bors
843329bfd5 Auto merge of #113061 - Amanieu:x86_64-ohos, r=compiler-errors
Add x86_64-unknown-linux-ohos target

This complements the existing `aarch64-unknown-linux-ohos` and `armv7-unknown-linux-ohos` targets.

This should be covered by the existing MCP (https://github.com/rust-lang/compiler-team/issues/568), but I can also create a new MCP if that is preferred.
2023-07-18 00:19:18 +00:00
bors
150c207387 Auto merge of #89132 - Cyborus04:rc_allocator_support, r=Amanieu
Add support for allocators in `Rc` & `Arc`

Adds the ability for `std::rc:Rc`, `std::rc::Weak`, `std::sync::Arc`, and `std::sync::Weak` to live in custom allocators
2023-07-17 21:51:46 +00:00
bors
ecd3c722b6 Auto merge of #113720 - eduardosm:miri-target-feature, r=RalfJung,oli-obk
miri: fail when calling a function that requires an unavailable target feature

miri will report an UB when calling a function that has a `#[target_feature(enable = ...)]` attribute is called and the required feature is not available.

"Available features" are the same that `is_x86_feature_detected!` (or equivalent) reports to be available during miri execution (which can be enabled or disabled with the `-C target-feature` flag).
2023-07-17 19:57:37 +00:00
bors
bdbd4907aa Auto merge of #113686 - flip1995:clippyup, r=Manishearth
Update Clippy

r? `@Manishearth`
2023-07-17 18:04:55 +00:00
bors
4a794a820f Auto merge of #113714 - Kobzol:ci-cmake, r=nikic
CI: build CMake 3.20 to support LLVM 17

LLVM 17 will require CMake at least 3.20, so we have to go back to building our own CMake on the Linux x64 dist builder.

r? `@nikic`
2023-07-17 15:46:43 +00:00
bors
05bcd7c37e Auto merge of #113791 - lnicola:sync-from-ra, r=lnicola
⬆️ `rust-analyzer`

r? `@ghost`
2023-07-17 13:54:44 +00:00
Laurențiu Nicola
e4d2724b2d Merge commit '37f84c101bca43b11027f30ab0c2852f9325bc3d' into sync-from-ra 2023-07-17 16:49:15 +03:00
bors
37f84c101b Auto merge of #15301 - bjorn3:uncompressed_dylib_metadata, r=lnicola
Support reading uncompressed proc macro metadata

rust-lang/rust#113695 makes the dylib metadata uncompressed for perf reasons. This commit allows reading both the current compressed and future uncompressed dylib metadata.
2023-07-17 13:31:41 +00:00
bjorn3
17a6bb557e Support reading uncompressed proc macro metadata
rust-lang/rust#113695 makes the dylib metadata uncompressed for perf
reasons. This commit allows reading both the current compressed and
future uncompressed dylib metadata.
2023-07-17 13:30:19 +00:00
bors
81744506ca Auto merge of #15302 - lnicola:sync-from-rust, r=lnicola
minor: Sync from rust
2023-07-17 13:10:31 +00:00
Laurențiu Nicola
71499fcd22 Merge remote-tracking branch 'upstream/master' into sync-from-rust 2023-07-17 16:09:39 +03:00
bors
d824511039 Auto merge of #15297 - HKalbasi:mir, r=HKalbasi
Normalize type alias in projected_ty

fix #15143
2023-07-16 21:47:00 +00:00
hkalbasi
832eb0d94c Normalize type alias in projected_ty 2023-07-17 01:16:26 +03:30
bors
ca797d2f88 Auto merge of #15295 - bernardosulzbach:fix-ssr-help-message, r=lnicola
Fix rust-analzyer ssr help message

It's missing a `>`, so

```
> rust-analyzer ssr '''$a.foo($b) ==> bar($a, $b)'''
can't parse `rule`, Parse error: Cannot find delimiter `==>>`
```

happens.
2023-07-16 10:21:07 +00:00
Bernardo Sulzbach
0e2c68da64
Fix rust-analzyer ssr help message 2023-07-16 12:12:33 +02:00
bors
bc0628c9b4 Auto merge of #15292 - kberov:patch-1, r=lnicola
Update flags.rs

Fixed typo in documentation comment
2023-07-16 07:33:53 +00:00
Красимир Беров
8f169f9642
Update flags.rs
Fixed typo in documentation comment
2023-07-16 10:27:20 +03:00
bors
4fad3301b1 Auto merge of #15280 - lnicola:bump-rust-version, r=lnicola
minor: Bump rust-version to 1.70 and use the workspace one in xtask

CC https://github.com/rust-lang/rust-analyzer/issues/15279
2023-07-16 06:50:43 +00:00
bors
f4b5c7c8bd Auto merge of #15291 - rust-lang:revert-15288-15143, r=lnicola
Revert "Handle TyAlias in projected_ty"

Reverts rust-lang/rust-analyzer#15288
2023-07-16 06:36:33 +00:00
Laurențiu Nicola
467f5f418e
Revert "Handle TyAlias in projected_ty" 2023-07-16 09:34:35 +03:00
bors
996e054f1e Auto merge of #15288 - alibektas:15143, r=lnicola
Handle TyAlias in projected_ty

First of all I still have no idea how MIR works but #15143 has been an issue that constantly made RA crash so I have been looking for a way to make RA stop panicking. I have zero claims that what I want to merge has any sense or is correct 😄  but there isn't any more panicking. Even if it is wrong may this be at least a step towards resolving this issue.
As is customary this PR fixes #15143
2023-07-15 17:14:13 +00:00
Ali Bektas
f8f19c4288 Change names to sth more presentable 2023-07-15 19:04:59 +02:00
Ali Bektas
75f06ce1fb Handle TyAlias in projected_ty 2023-07-15 18:32:21 +02:00
bors
789dfd2a25 Auto merge of #15284 - HKalbasi:mir, r=HKalbasi
Enable cfg miri in analysis
2023-07-14 19:30:35 +00:00
hkalbasi
41b8b0b77d Enable cfg miri in analysis 2023-07-14 22:59:46 +03:30
bors
8e5f944317 Auto merge of #15282 - HKalbasi:mir, r=HKalbasi
Give real discriminant_type to chalk
2023-07-14 16:46:35 +00:00
hkalbasi
50559118fb Give real discriminant_type to chalk 2023-07-14 20:15:18 +03:30
hkalbasi
5208bf8f55 implement type_name intrinsic 2023-07-14 16:52:36 +03:30
Laurențiu Nicola
424da10077 Bump rust-version to 1.70 and use the workspace one in xtask 2023-07-14 16:15:26 +03:00
bors
ef2c5eef37 Auto merge of #113113 - Amanieu:box-vec-zst, r=Mark-Simulacrum
Eliminate ZST allocations in `Box` and `Vec`

This PR fixes 2 issues with `Box` and `RawVec` related to ZST allocations. Specifically, the `Allocator` trait requires that:
- If you allocate a zero-sized layout then you must later deallocate it, otherwise the allocator may leak memory.
- You cannot pass a ZST pointer to the allocator that you haven't previously allocated.

These restrictions exist because an allocator implementation is allowed to allocate non-zero amounts of memory for a zero-sized allocation. For example, `malloc` in libc does this.

Currently, ZSTs are handled differently in `Box` and `Vec`:
- `Vec` never allocates when `T` is a ZST or if the vector capacity is 0.
- `Box` just blindly passes everything on to the allocator, including ZSTs.

This causes problems due to the free conversions between `Box<[T]>` and `Vec<T>`, specifically that ZST allocations could get leaked or a dangling pointer could be passed to `deallocate`.

This PR fixes this by changing `Box` to not allocate for zero-sized values and slices. It also fixes a bug in `RawVec::shrink` where shrinking to a size of zero did not actually free the backing memory.
2023-07-14 01:59:08 +00:00
bors
c7ce8add14 Auto merge of #15265 - tetsuharuohzeki:update-dependencies, r=lnicola
editor/code: Update dependencies

This includes:

- Some major changes.
    - [typescript-eslint v6](https://typescript-eslint.io/blog/announcing-typescript-eslint-v6/)
    - [prettier v3](https://prettier.io/blog/2023/07/05/3.0.0.html)
- ~Update ``@types/vscode`` to [1.79](https://code.visualstudio.com/updates/v1_79).~
    - ~[1.80 has been released](https://code.visualstudio.com/updates/v1_80). We can now bump it.~
    - _Update1: I removed this change. See the below comments_
- and some patch/minor updates.
2023-07-13 16:06:42 +00:00
Tetsuharu Ohzeki
085b755123 editor/code: Update esbuild
https://github.com/evanw/esbuild/blob/main/CHANGELOG.md
2023-07-13 22:46:15 +09:00
Tetsuharu Ohzeki
d534180b30 editor/code: Update ESLint
https://eslint.org/blog/category/release-notes/
2023-07-13 22:45:11 +09:00
Tetsuharu Ohzeki
837ded9c9a editor/code: Update ovsx
https://github.com/eclipse/openvsx/blob/master/cli/CHANGELOG.md
2023-07-13 22:45:10 +09:00
Tetsuharu Ohzeki
f7823f3106 editor/code: Re-apply code format 2023-07-13 22:44:29 +09:00
Tetsuharu Ohzeki
9d06aa55b4 editor/code: Update prettier to v3
https://prettier.io/blog/2023/07/05/3.0.0.html
2023-07-13 22:44:29 +09:00
Tetsuharu Ohzeki
eed1888b81 editor/code: Update typescript-eslint to v6
https://typescript-eslint.io/blog/announcing-typescript-eslint-v6/
2023-07-13 22:44:29 +09:00
Tetsuharu Ohzeki
143646d17e editor/code: Update typescript 2023-07-13 22:44:29 +09:00
bors
6acb989448 Auto merge of #15275 - Veykril:ci-metrics, r=Veykril
Default to stable toolchain for metrics workflow

Metrics CI is failing because of a function that was stabilized in 1.70. So for some reason, it's trying to use an older toolchain i seems though I don't understand why it randomly started complaining about that.
2023-07-13 08:55:21 +00:00
Lukas Wirth
415b527855 Default to stable toolchain for metrics workflow 2023-07-13 10:54:24 +02:00
bors
f6ae0c11ac Auto merge of #15270 - ChristianSchott:patch-1, r=HKalbasi
Make fields of mir::Terminator public

When trying to use the RA crate, I am unable to access the fields in `hir_def::mir::Terminator`.
I don't see any reason, why these should be private, especially as the fields of `hir_def::mir::Statement` are `pub`.

I am not sure if the fields in `hir_def::mir::SwitchTargets` should be made `pub` too, but at least they are read-accessible via some public methods..

Sorry if I missed something, this is my first PR.
2023-07-13 07:54:44 +00:00
bors
132ba2cf77 Auto merge of #15248 - Veykril:eager, r=Veykril
Fix eager token mapping panics
2023-07-13 07:39:30 +00:00
Lukas Wirth
6a7b905c86 Fix the eager token maps by re-mapping the textranges between the input and input expansion 2023-07-13 09:22:38 +02:00
bors
215b149a8b Auto merge of #15272 - lnicola:links, r=lnicola
minor: Use a permalink to the SIMD line index code, and add a note on the GitHub API
2023-07-12 23:34:43 +00:00
bors
d16d5fcf68 Auto merge of #15268 - HKalbasi:mir, r=HKalbasi
Add write_bytes and ctlz intrinsics
2023-07-12 23:19:30 +00:00
bors
642420fb60 Auto merge of #15267 - lowr:patch/exceeding-exec-limit-is-slow, r=lnicola
Mark test for MIR execution limit as slow test

The test for MIR execution limit accounts for ~2/3 of total execution time of non-slow hir-ty tests. It significantly slows down edit-and-run-test type of workflow. Can we mark it as a slow test?
2023-07-12 23:04:16 +00:00