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
To fully support template instantiations, and particularly template instantiations where a template argument is another template instantiation, with our various flags that depend on names (eg marking things opaque) we need to stop making template instantiations just use their template definition's name and start appending their template arguments.
The catch is that there are a bunch of places that assume that the names we return are valid rust identifiers and don't have characters like < in them. I kind of feel like we want multiple name-getting traits and/or multiple different name-getting methods on the ItemCanonicalName trait. Or maybe even extending the ItemCanonicalPath to return a tree rather than a vec so we can properly represent paths with instantiations and have each instantiation argument also be a path...
Anyways, after #773, we can make certain instantiations opaque, like Rooted<SavedFrameCache>, but not any "nested" instantiations, like Rooted<Cache<SavedFrame>>. Supporting the latter requires figuring out this naming mess.
The text was updated successfully, but these errors were encountered:
Follow up to #773
To fully support template instantiations, and particularly template instantiations where a template argument is another template instantiation, with our various flags that depend on names (eg marking things opaque) we need to stop making template instantiations just use their template definition's name and start appending their template arguments.
The catch is that there are a bunch of places that assume that the names we return are valid rust identifiers and don't have characters like
<
in them. I kind of feel like we want multiple name-getting traits and/or multiple different name-getting methods on theItemCanonicalName
trait. Or maybe even extending theItemCanonicalPath
to return a tree rather than a vec so we can properly represent paths with instantiations and have each instantiation argument also be a path...Anyways, after #773, we can make certain instantiations opaque, like
Rooted<SavedFrameCache>
, but not any "nested" instantiations, likeRooted<Cache<SavedFrame>>
. Supporting the latter requires figuring out this naming mess.The text was updated successfully, but these errors were encountered: