-
Notifications
You must be signed in to change notification settings - Fork 12.9k
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
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: