There isn't really a good way to represent types like Duration, since we cannot access its inner data. So Duration::type_info() returns Opaque. Previously Opaque didn't have any associated data so you had no way of knowing which type it actually was.
This changes that so the type name is preserved. Then you can at least figure out that the type name is core::time::Duration which might help downcasting or calling FromReflect.
There isn't really a good way to represent types like
Duration
, since we cannot access its inner data. SoDuration::type_info()
returnsOpaque
. PreviouslyOpaque
didn't have any associated data so you had no way of knowing which type it actually was.This changes that so the type name is preserved. Then you can at least figure out that the type name is
core::time::Duration
which might help downcasting or callingFromReflect
.