-
Notifications
You must be signed in to change notification settings - Fork 13.1k
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Tracking issue for enabling -Zdrop-tracking
by default
#97331
Comments
@rustbot label +A-async-await +AsyncAwait-Triaged |
@rustbot claim |
The last two issues have both been fixed :) and the first has been mitigated (it doesn't have the same error as it used to, but the new error is much more readable than previously). |
I suspect the first issue can be marked as fixed too. I'll double check that it still looks okay and if so go ahead and close the issue. For |
Would it be helpful if |
I think all of these have been fixed :) @eholk what are the next steps? Another Crater run? |
Bummer, looks like there's another test that broke in the meantime: #97334 (comment) |
[drop tracking] Use parent expression for scope, not parent node Previously we were just using the parent node as the scope for a temporary value, but it turns out this is too narrow. For example, in an expression like Foo { b: &42, a: async { 0 }.await, } the scope for the &42 was set to the ExprField node for `b: &42`, when we actually want to use the Foo struct expression. We fix this by recursively searching through parent nodes until we find a Node::Expr. It may be that we don't find one, and if so that's okay, we will just fall back on the enclosing temporary scope which is always sufficient. Helps with rust-lang#97331 r? `@jyn514`
[drop tracking] Use parent expression for scope, not parent node Previously we were just using the parent node as the scope for a temporary value, but it turns out this is too narrow. For example, in an expression like Foo { b: &42, a: async { 0 }.await, } the scope for the &42 was set to the ExprField node for `b: &42`, when we actually want to use the Foo struct expression. We fix this by recursively searching through parent nodes until we find a Node::Expr. It may be that we don't find one, and if so that's okay, we will just fall back on the enclosing temporary scope which is always sufficient. Helps with rust-lang#97331 r? `@jyn514`
[drop tracking] Use parent expression for scope, not parent node Previously we were just using the parent node as the scope for a temporary value, but it turns out this is too narrow. For example, in an expression like Foo { b: &42, a: async { 0 }.await, } the scope for the &42 was set to the ExprField node for `b: &42`, when we actually want to use the Foo struct expression. We fix this by recursively searching through parent nodes until we find a Node::Expr. It may be that we don't find one, and if so that's okay, we will just fall back on the enclosing temporary scope which is always sufficient. Helps with rust-lang#97331 r? ``@jyn514``
Shouldn't this issue be closed now that everything in it is done? |
Yes! |
We tried to do this a while ago (#91032) but discovered a number of regressions soon afterwards so it was disabled (#93165). This issue tracks known regressions and their fixes. Note that many regressions have been fixed but are not listed here since they were done before I filed this bug.
issue-70935-complex-spans.rs
#97332must_not_suspend
lint regression with-Zdrop-tracking
#97333-Zdrop-tracking
) #102383-Zdrop-tracking
by default #97334The text was updated successfully, but these errors were encountered: