From e2ea69f247e2605ed9dd5496b07fb750a1ca22f1 Mon Sep 17 00:00:00 2001 From: Nolan Waite Date: Fri, 16 Aug 2024 00:49:14 -0300 Subject: [PATCH] Take strong reference to _publisher to avoid crash on unowned Submitted upstream as https://github.com/jessesquires/Foil/pull/112 but upstream latest changes the name of the property wrappers and I'm not bothering to do that here. --- Sources/WrappedDefault.swift | 2 +- Sources/WrappedDefaultOptional.swift | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Sources/WrappedDefault.swift b/Sources/WrappedDefault.swift index df5edde..2ecfe11 100644 --- a/Sources/WrappedDefault.swift +++ b/Sources/WrappedDefault.swift @@ -55,7 +55,7 @@ public struct WrappedDefault { // and uses force unwrap self._publisher = CurrentValueSubject(userDefaults.fetch(keyName)) - self._observer = ObserverTrampoline(userDefaults: userDefaults, key: keyName) { [unowned _publisher] in + self._observer = ObserverTrampoline(userDefaults: userDefaults, key: keyName) { [_publisher] in _publisher.send(userDefaults.fetch(keyName)) } } diff --git a/Sources/WrappedDefaultOptional.swift b/Sources/WrappedDefaultOptional.swift index bdd1869..994bbbe 100644 --- a/Sources/WrappedDefaultOptional.swift +++ b/Sources/WrappedDefaultOptional.swift @@ -52,7 +52,7 @@ public struct WrappedDefaultOptional { self.key = keyName self._userDefaults = userDefaults self._publisher = CurrentValueSubject(userDefaults.fetchOptional(keyName)) - self._observer = ObserverTrampoline(userDefaults: userDefaults, key: keyName) { [unowned _publisher] in + self._observer = ObserverTrampoline(userDefaults: userDefaults, key: keyName) { [_publisher] in _publisher.send(userDefaults.fetchOptional(keyName)) } }