-
-
Notifications
You must be signed in to change notification settings - Fork 54
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
Update package for Sendable, and other cleanup #217
Conversation
…imum Swift to 5.8, fixup docs and logo
…l, don't use benchmarker's DB for tests
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #217 +/- ##
==========================================
+ Coverage 63.12% 63.77% +0.64%
==========================================
Files 8 8
Lines 339 334 -5
==========================================
- Hits 214 213 -1
+ Misses 125 121 -4
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good to merge but I'm not overly comfortable with slapping an unchecked sendable to silence warnings instead of making the underlying types Sendable
@@ -81,7 +81,9 @@ extension DatabaseConfigurationFactory { | |||
decodingContext: PostgresDecodingContext<some PostgresJSONDecoder>, | |||
sqlLogLevel: Logger.Level = .debug | |||
) -> DatabaseConfigurationFactory { | |||
.init { | |||
let configuration = FakeSendable(wrappedValue: configuration) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why isn't configuration Sendable?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Too much mutability. The correct solution is to do what was done in PostgresKit, deprecating the old one and making a completely new type, but that's more work than I'm willing to do this late in the lifetime of Fluent 4. This is more of a workaround for the lack of transferring
; the configuration doesn't actually need to be Sendable
conceptually.
These changes are now available in 2.9.0
Adds Sendable correctness and ExistentialAny compliance, bumps min Swift version to 5.8, leverages the new SQLKit functionality, removes
.error
-level logging (uses.debug
instead), updates CI, modernizes README and docs.