Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

When parsing, don't swallow recursion depth errors. #284

Merged
merged 1 commit into from
Jun 23, 2023

Commits on Jun 17, 2023

  1. When parsing, don't swallow recursion depth errors.

    This is necessary for both performance and correctness reasons. At many points
    when parsing symbols a failure to parse as one construct is retried as a
    different construct. This makes sense when parsing fails because the input does
    not match the first construct. It does not make sense when the input triggers
    the recursion limits.
    
    1. Because the input might have been correctly parsed on the path that was
      aborted due to the recursion limits, any other output produced may be wrong.
    2. Even the error returned might be wrong, if the correct path was aborted due
      to recursion limits and the last path tried was aborted for a different error.
    3. Attempting to try additional constructs after a recursion error increases
      the runtime, in some cases significantly.
    khuey committed Jun 17, 2023
    Configuration menu
    Copy the full SHA
    294245a View commit details
    Browse the repository at this point in the history