mirror of
https://github.com/golang/go
synced 2024-11-02 11:50:30 +00:00
8e9109e95a
Removed a case in transformCall() where we were setting a type on n, which isn't needed, since noder2 already set the type of n. More importantly, we are losing information, since the type of the results may be a shape type, but the actual type of call is the known type from types2, which may be a concrete type (in this case Zero[MyInt]). That concrete type will then be used correctly if the concrete result is converted to an interface. If we are inlining the call to Zero[MyInt], we need to add an implicit CONVNOP operation, since we are going to use the result variable directly, which has a shape type. So, add an implicit CONVNOP to remember that the known type is the concrete type. Also cleaned up 14.go a bit, so it is more understandable. Renamed type T to AnyInt, since T is used elsewhere as a type parameter. Reformatted Zero function and added a comment. Change-Id: Id917a2e054e0bbae9bd302232853fa8741d49b64 Reviewed-on: https://go-review.googlesource.com/c/go/+/336430 Trust: Dan Scales <danscales@google.com> Reviewed-by: Keith Randall <khr@golang.org> |
||
---|---|---|
.. | ||
1.dir | ||
3.dir | ||
4.dir | ||
7.dir | ||
8.dir | ||
10.dir | ||
12.dir | ||
1.go | ||
2.go | ||
3.go | ||
4.go | ||
5.go | ||
6.go | ||
7.go | ||
8.go | ||
9.go | ||
10.go | ||
11.go | ||
12.go | ||
13.go | ||
14.go |