We're updating the issue view to help you get more done. 

Review code base to find places that do not properly return unchanged expressions

Description

All visitors (and related types, e.g. Resolver) that unwrap + rewrap their input expression must have a guard on the return path to return the original, unchanged expression if the operation that happened between the unwrap + rewrap did not change the wrapped expression. Otherwise, an expression with the same value but a different identity is returned and an infinite recursion (leading to stack overflow) will happen for certain arguments.

Assignee

Unassigned

Reporter

Michael Ketting

Labels

None

Components

Fix versions

Priority

Normal
Configure