Improve debug tracing for substitution
This patch improves debug tracing a bit (#18395)
-
Remove the ancient SDoc argument to substitution, replacing it with a HasDebugCallStack constraint. The latter does the same job (indicate the call site) but much better.
-
Add HasDebugCallStack to simpleOptExpr, exprIsConApp_maybe I needed this to help nail the lookupIdSubst panic in #18326 (closed), #17784 (closed)
Should have zero effect on behaviour in the non-DEBUG case except that, because HasDebugCallStack goes away in the non-DEBUG case whereas the old SDoc arguments did not, we might get slightly less allocation in the compiler.