Update purity exception for Streams.print #3706
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
In https://specification.modelica.org/master/functions.html#pure-modelica-functions there is the following exception for
print
:The problem is that
Modelica.Utilities.Streams.print
is nowadays explicitly markedimpure
, so the exception is only causing confusion at the moment.This PR updates the specification so that it applies to the current MSL. The most important part, that there is a loophole for calling
print
anywhere, still applies to older MSL whereprint
is not explicitly declaredimpure
. The only change for older MSL is that the deprecated semantics demands a diagnostic in this case – I find it better that tools act on their own on this matter than to elaborate the rules for diagnostics in the specification.