-
Notifications
You must be signed in to change notification settings - Fork 13.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Rollup of 9 pull requests #138595
Rollup of 9 pull requests #138595
Conversation
…e for the time being
Signed-off-by: Ookiineko <chiisaineko@protonmail.com>
Signed-off-by: Ookiineko <chiisaineko@protonmail.com>
Signed-off-by: xizheyin <xizheyin@smail.nju.edu.cn>
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
Signed-off-by: onur-ozkan <work@onurozkan.dev>
…r=joshtriplett Stablize anonymous pipe Since rust-lang#135822 is staled, I create this PR to stablise anonymous pipe Closes rust-lang#127154 try-job: test-various
std: Mention clone-on-write mutation in Arc<T> Fixes rust-lang#138322 r? libs
…re, r=oli-obk Improve upvar analysis for deref of child capture Two fixes to the heuristic I implemented in rust-lang#123660. As I noted in the code: > Luckily, if this function is not correct, then the program is not unsound, since we still borrowck and validate the choices made from this function -- the only side-effect is that the user may receive unnecessary borrowck errors. This indeed fixes unnecessary borrowck errors. r? oli-obk --- The heuristic is only valid if we deref a `&T`, not a `&mut T` or `Box<T>`, so make sure to check the type. This fixes: ```rust struct Foo { precise: i32 } fn mut_ref_inside_mut(f: &mut Foo) { let x: impl AsyncFn() = async move || { let y = &f.precise; }; } ``` Since the capture from `f` to `&f.precise` needs to be treated as a lending borrow from the parent coroutine-closure to the child coroutine. --- The heuristic is also valid if *any* deref projection in the child capture's projections is a `&T`, but we were only looking at the last one. This ensures that this function is considered not to be lending: ```rust struct Foo { precise: i32 } fn ref_inside_mut(f: &mut &Foo) { let x: impl Fn() -> _ = async move || { let y = &f.precise; }; } ``` (Specifically, checking that `impl Fn() -> _` is satisfied is exercising that the coroutine is not considered to be lending.)
Update Rust Foundation links in Readme The Rust Foundation links in the Readme are outdated. I'm not sure if this is the best wording to use in place of the media guide, that can be changed if need be.
Document `#![register_tool]` cc rust-lang#66079
Flatten and simplify some control flow 🫓
update change entry for rust-lang#137147 r? `@RalfJung`
@bors r+ rollup=never p=5 |
☀️ Test successful - checks-actions |
A job failed! Check out the build log: (web) (plain) Click to see the possible cause of the failure (guessed by this bot)
|
📌 Perf builds for each rolled up PR:
previous master: 9bad8ac498 In the case of a perf regression, run the following command for each PR you suspect might be the cause: |
Finished benchmarking commit (9c67cec): comparison URL. Overall result: ❌✅ regressions and improvements - no action needed@rustbot label: -perf-regression Instruction countThis is the most reliable metric that we have; it was used to determine the overall result at the top of this comment. However, even this metric can sometimes exhibit noise.
Max RSS (memory usage)Results (secondary 1.5%)This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.
CyclesThis benchmark run did not return any relevant results for this metric. Binary sizeResults (primary 0.5%, secondary 0.3%)This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.
Bootstrap: 776.387s -> 774.895s (-0.19%) |
Successful merges:
*_value
methods to proc_macro lib #136355 (Add*_value
methods to proc_macro lib)#![register_tool]
#138586 (Document#![register_tool]
)r? @ghost
@rustbot modify labels: rollup
Create a similar rollup