exprFreeVars does not include type variables
The exprFreeVars function returns the free variables of an expression. However, this function doesn't include the type variables free in the free term variables. This might be OK for some uses, but it seems not OK if we use the result of exprFreeVars in an InScopeSet, which is done in many places.
I don't have a program that exhibits misbehavior, but I feel fairly sure that we have a problem here.
Trac metadata
| Trac field | Value |
|---|---|
| Version | 8.4.3 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | Compiler |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture |