Bahn-X / swift-composable-navigator

An open source library for building deep-linkable SwiftUI applications with composition, testing and ergonomics in mind
MIT License
581 stars 25 forks source link

Allow erasing circular paths #63

Closed ohitsdaniel closed 3 years ago

ohitsdaniel commented 3 years ago

Resolves #62.

Problem

As described in #62, circular navigation paths currently lead to failing builds as the compiler is not able to resolve recursive content types.

Solution

Allow erasing circular navigation paths to AnyView. This has a performance impact as SwiftUI will no longer be able to use the View type to perform its diffing for all erased successors. As circular paths are the exception and not the rule, I think this is fine for now.

github-actions[bot] commented 3 years ago

Current coverage for ComposableDeeplinking.framework is 100.00%

No files affecting coverage found


Current coverage for ComposableNavigator.framework is 96.85%

Files changed - -
PathBuilder+EraseCircularPath.swift 100.00% :white_check_mark:

Current coverage for ComposableNavigatorTCA.framework is 98.46%

No files affecting coverage found


Powered by xcov

Generated by :no_entry_sign: Danger