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
There are many instances of transmutation in the compiler, both used as a documented type-level bound (e.g., "this associated type must be transmutable into Self) and as a concrete operation. We should dogfood TransmuteFrom by replacing as many instances of documented transmutation bounds with TransmuteFrom and concrete transmutes with TransmuteFrom::transmute. This both will reduce the amount of unsafe in the Rust standard library and make unavoidable unsafe a little less dangerous.
At a type level, there are still rough edges with TransmuteFrom. It's slow to analyze very large types, and does not yet normalize associated types on traits (and thus cannot analyze them).
The text was updated successfully, but these errors were encountered:
There are many instances of transmutation in the compiler, both used as a documented type-level bound (e.g., "this associated type must be transmutable into
Self
) and as a concrete operation. We should dogfoodTransmuteFrom
by replacing as many instances of documented transmutation bounds withTransmuteFrom
and concrete transmutes withTransmuteFrom::transmute
. This both will reduce the amount of unsafe in the Rust standard library and make unavoidableunsafe
a little less dangerous.Blockers:
TransmuteFrom::transmute
#18 is resolved, replacingmem::transmute
withTransmuteFrom::transmute
might regress codegen/performanceTransmuteFrom
. It's slow to analyze very large types, and does not yet normalize associated types on traits (and thus cannot analyze them).The text was updated successfully, but these errors were encountered: