| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
Hi @k...@golang.org, PTAL. This is ready for review. (This is the main interface receiver CL, which teaches the compiler to avoid always escaping the value in an interface conversion that is later used as the receiver in a interface method call.)
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
Looks pretty good. I'm excited to see what allocations this could remove.
continuewe could probably break at this point.
(or maybe we can only do that if also derefs==0?)
esc.Optimize()I don't see any mention of the Mutator or Callee parts of the leaks descriptor. How do those get updated? With `f` as in the CL description
```
type T struct {
x int
}
func (t *T) String() string {
t.x++
return "foo"
}
t := T{x:7}
f(&t)
```
We need to have `t` flow to the mutate hole, I think, because we mutate it.
But maybe mutates only matters for byte slices?
Similarly for Calls, I can't think of an obvious case where this matters, but maybe it would be safer to flow to the callee hole just in case.
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |