You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Please include the output of hhvm --version and hh_client --version
Additional context
currently T::class returns classname<T>, hack has both typename<T> and classname<T> types, both these types are nothing more of a string at runtime, what would be a great solution is to make them not string, but rather something else ( e.g: simiar to function reference: class reference and type reference - which class reference being a subtype of type reference ), which can be used as is now, but cannot be used as a string, this new type can hold all generic parameter types, and optionally convereted to a string representation.
The text was updated successfully, but these errors were encountered:
Just adding to the pool of knowledge. The runtime representation of classname is currently a plain string indeed. LazyClass might become a new runtime representation of a classname. But afaik this does not intend to include reifyied generics.
I am going over old issues on this repository, to see which ones apply to the current versions of hhvm.
classname<T> string forms do not contain generic information. The HH\ReifiedGenerics\get_typestructure<T>() function exposes information about inner generics. You are able to reconstruct the string name fully from the type structure.
Standalone code, or other way to reproduce the problem
Steps to reproduce the behavior:
Expected behavior
output:
Actual behavior
Environment
Operating systemirrevelentInstallation methodirrevelentAdditional context
currently T::class returns
classname<T>
, hack has bothtypename<T>
andclassname<T>
types, both these types are nothing more of a string at runtime, what would be a great solution is to make them not string, but rather something else ( e.g: simiar to function reference: class reference and type reference - which class reference being a subtype of type reference ), which can be used as is now, but cannot be used as a string, this new type can hold all generic parameter types, and optionally convereted to a string representation.The text was updated successfully, but these errors were encountered: