Uh oh!
There was an error while loading. Please reload this page.
mark unique pointer parameters as noalias - #6754
Conversation
Aatch
commented
May 27, 2013
As far as I'm aware, Finally, |
The compiler guarantees that there are no other references to a unique pointer when it's passed by-value to a function. The existence of the header and annihilator don't matter since it's not relevant to the call: > For a call to the parent function, dependencies between memory references from before or after the call and from those during the call are “irrelevant” to the noalias keyword for the arguments and return value used in that call. @graydon's tracing garbage collector stores the metadata outside of the boxes, so that won't be a problem. I'm unsure if updating the header while inside a function where it's marked as `noalias` would be a problem anyway since you never actually read or write to the header. @nikomatsakis: r?
Teach SpanlessEq binding IDs changelog: Fix collapsible_match false positive Fixesrust-lang#6740 This PR changes the way `SpanlessEq` determines whether two local variables are the same. Instead of checking that the names match, it checks that the `HirId`s match. If local bindings are declared within the expressions that are being compared, `SpanlessEq` will remember bindings that correspond to each other in a `FxHashMap<HirId, HirId>`. This makes `SpanlessEq` more flexible while also fixing false positives. Example: `{ let x = 1; x + 2 }` is equal to `{ let y = 1; y + 2 }`. CC `@xFrednet` I think this will resolve some concerns in rust-lang#6463
6754: Apply environment set by build scripts r=jonas-schievink a=jonas-schievink Fixes inclusion of generated files in typenum/heapless/defmt etc. bors r+ Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
The compiler guarantees that there are no other references to a unique pointer when it's passed by-value to a function.
The existence of the header and annihilator don't matter since it's not relevant to the call:
@graydon's tracing garbage collector stores the metadata outside of the boxes, so that won't be a problem. I'm unsure if updating the header while inside a function where it's marked as
noaliaswould be a problem anyway since you never actually read or write to the header.@nikomatsakis: r?