Short description
Messages from entailment contexts are now always suppressed, which is not always desirable.
Problem description.
Often, Statix specifications are debugged using try {false } | note $[<message>] constraints. However, when these constraints are anywhere in an entailment context, their messages are not included in the final solver result. Therefore, entailed constraints are much harder to debug.
Describe the solution you'd like
Messages with note level should be transferred from an entailment context to the outer context.
Describe alternatives you've considered
There are several alternative solutions:
Introducing a special debug level which is transferred, instead of note. It would be possible to suppress these messages in 'production' usages.
Transfer all messages with equal or lower severity on failure of the inner constraint, and with lower severity when the constraint succeeds, always including the note messages.
Short description Messages from entailment contexts are now always suppressed, which is not always desirable.
Problem description. Often, Statix specifications are debugged using
try {false } | note $[<message>]
constraints. However, when these constraints are anywhere in an entailment context, their messages are not included in the final solver result. Therefore, entailed constraints are much harder to debug.Describe the solution you'd like Messages with
note
level should be transferred from an entailment context to the outer context.Describe alternatives you've considered There are several alternative solutions:
debug
level which is transferred, instead ofnote
. It would be possible to suppress these messages in 'production' usages.note
messages.