Marc Vertes
e56db3b82e
interp: improve interface wrappers when used by reflect
...
When an interpreter type implementing an interface is
used by the runtime, the runtime can extract its type
and create new values using reflect, and call methods
on it. The problem is that there will be no interpreted
method counterpart in this case, which makes wrapper panic.
Allow the String() method wrapper to always succeed and
return an empty string if no interpreted method is present.
This allows scripts to define custom flag.Value types on
which the runtime internally instantiates values using
reflect (see isZeroValue in Go src/flag/flag.go).
This workaround could be generalized to all wrappers if
necessary. At this moment, it is convenient to keep the
default behavior of expecting instantiated interpreter
methods, in order to catch interpreter bugs related to
interfaces.
Fixes #1276 .
2021-10-08 15:56:06 +02:00
..
2021-10-08 15:56:06 +02:00
2021-08-17 11:42:07 +02:00
2021-09-20 10:18:14 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-10-08 15:56:06 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-10-08 15:56:06 +02:00
2021-10-08 15:56:06 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-10-08 15:56:06 +02:00
2021-08-17 11:42:07 +02:00
2021-10-08 15:56:06 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-10-08 15:56:06 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-10-08 15:56:06 +02:00
2021-10-08 15:56:06 +02:00
2021-10-08 15:56:06 +02:00
2021-10-08 15:56:06 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-10-08 15:56:06 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-10-08 15:56:06 +02:00
2021-08-17 11:42:07 +02:00
2021-10-08 15:56:06 +02:00
2021-08-17 11:42:07 +02:00
2021-10-08 15:56:06 +02:00
2021-08-17 11:42:07 +02:00
2021-10-08 15:56:06 +02:00
2021-10-08 15:56:06 +02:00
2021-08-17 11:42:07 +02:00
2021-10-08 15:56:06 +02:00
2021-10-08 15:56:06 +02:00
2021-10-08 15:56:06 +02:00
2021-10-08 15:56:06 +02:00
2021-08-17 11:42:07 +02:00
2021-10-08 15:56:06 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-10-08 15:56:06 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-10-08 15:56:06 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-10-08 15:56:06 +02:00
2021-10-08 15:56:06 +02:00
2021-08-17 11:42:07 +02:00
2021-10-08 15:56:06 +02:00
2021-10-08 15:56:06 +02:00
2021-10-08 15:56:06 +02:00
2021-08-17 11:42:07 +02:00
2021-10-08 15:56:06 +02:00
2021-08-17 11:42:07 +02:00
2021-10-08 15:56:06 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-10-08 15:56:06 +02:00
2021-08-17 11:42:07 +02:00
2021-10-08 15:56:06 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-10-08 15:56:06 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-10-08 15:56:06 +02:00
2021-08-17 11:42:07 +02:00
2021-10-08 15:56:06 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-10-08 15:56:06 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-10-08 15:56:06 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-10-08 15:56:06 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-10-08 15:56:06 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-10-08 15:56:06 +02:00
2021-10-08 15:56:06 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-10-08 15:56:06 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-10-08 15:56:06 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-10-08 15:56:06 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-10-08 15:56:06 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-10-08 15:56:06 +02:00
2021-10-08 15:56:06 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-10-08 15:56:06 +02:00
2021-08-17 11:42:07 +02:00
2021-10-08 15:56:06 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-10-08 15:56:06 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-10-08 15:56:06 +02:00
2021-10-08 15:56:06 +02:00
2021-10-08 15:56:06 +02:00
2021-10-08 15:56:06 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-10-08 15:56:06 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-10-08 15:56:06 +02:00
2021-08-17 11:42:07 +02:00
2021-10-08 15:56:06 +02:00
2021-08-17 11:42:07 +02:00
2021-10-08 15:56:06 +02:00
2021-08-17 11:42:07 +02:00
2021-10-08 15:56:06 +02:00
2021-10-08 15:56:06 +02:00
2021-08-17 11:42:07 +02:00
2021-10-08 15:56:06 +02:00
2021-10-08 15:56:06 +02:00
2021-10-08 15:56:06 +02:00
2021-10-08 15:56:06 +02:00
2021-08-17 11:42:07 +02:00
2021-10-08 15:56:06 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-10-08 15:56:06 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-10-08 15:56:06 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-10-08 15:56:06 +02:00
2021-10-08 15:56:06 +02:00
2021-08-17 11:42:07 +02:00
2021-10-08 15:56:06 +02:00
2021-10-08 15:56:06 +02:00
2021-10-08 15:56:06 +02:00
2021-08-17 11:42:07 +02:00
2021-10-08 15:56:06 +02:00
2021-08-17 11:42:07 +02:00
2021-10-08 15:56:06 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-10-08 15:56:06 +02:00
2021-08-17 11:42:07 +02:00
2021-10-08 15:56:06 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-10-08 15:56:06 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-10-08 15:56:06 +02:00
2021-08-17 11:42:07 +02:00
2021-10-08 15:56:06 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-10-08 15:56:06 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-10-08 15:56:06 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-10-08 15:56:06 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-10-08 15:56:06 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-10-08 15:56:06 +02:00
2021-10-08 15:56:06 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-10-08 15:56:06 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-10-08 15:56:06 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-10-08 15:56:06 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2021-08-17 11:42:07 +02:00
2020-07-08 22:35:04 +02:00
2021-09-20 10:18:14 +02:00