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
Statically separate the three kinds of δ-resolvers.
Except for the broken upper layers, there were actually three distinct
kinds of δ-resolvers.
1. Resolvers from module bodies without any inlining information, as
it makes no sense there.
2. Resolvers from module types, which may carry inlining parameter
information, i.e. an inlining level for some constants.
3. Resolvers from module substitutions, which may carry actual inlining
payload as terms attached to some constant to replace them.
The upper layers used to gladly break these invariants to carry both the
aliasing and inlining information through the same channel, but this was
fixed in the last commit.
This commit annotates the type of δ-resolvers to statically separate the
various kinds in the code.
0 commit comments