Skip to content

Forbid recursion through all required members#1200

Merged
mtdowling merged 2 commits intomainfrom
forbid-infinite-required-recursion
Apr 25, 2022
Merged

Forbid recursion through all required members#1200
mtdowling merged 2 commits intomainfrom
forbid-infinite-required-recursion

Conversation

@mtdowling
Copy link
Copy Markdown
Member

Closes #1183

Issue #, if available:

Description of changes:

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

@mtdowling mtdowling requested a review from a team as a code owner April 22, 2022 23:40
@mtdowling mtdowling force-pushed the forbid-infinite-required-recursion branch 2 times, most recently from 93e48d8 to addc198 Compare April 24, 2022 21:25
This commit optimizes PathFinder.Path to be an internal linked list to
reduce path copies while traversing potential recursive paths.

This commit also fixes a bug where mutually recursive structures through
optional members were erroneously flagged as invalid.
@mtdowling mtdowling force-pushed the forbid-infinite-required-recursion branch from addc198 to 89e12e9 Compare April 24, 2022 22:30
@mtdowling mtdowling merged commit 5e7af7a into main Apr 25, 2022
@mtdowling mtdowling deleted the forbid-infinite-required-recursion branch June 13, 2022 05:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Recursive shape definitions restriction not restrictive enough

2 participants