Open
Description
Expected behavior
If I have a throwing function fn()
or a throwing property accessor, it would be nice if these two log statements work:
try logger.info("calling fn = \(fn())")
try logger.info("value of property = \(object.property)")
Actual behavior
Right now it does not compile, giving the error Property access can throw, but it is executed in a non-throwing autoclosure
.
I believe marking the autoclosures with rethrows
will resolve this problem.
Steps to reproduce
- Per above,
try
a logging function with a string interpolation containing a throwing function call or property access.
If possible, minimal yet complete reproducer code (or URL to code)
I can provide something if it's really necessary, but I think there is enough information above.
SwiftLog version/commit hash
1.5.2
Swift & OS version (output of swift --version && uname -a
)
swift-driver version: 1.75.2 Apple Swift version 5.8 (swiftlang-5.8.0.124.2 clang-1403.0.22.11.100)
Target: arm64-apple-macosx13.0
Darwin smadsen-MacBook-Pro 22.4.0 Darwin Kernel Version 22.4.0: Mon Mar 6 20:59:28 PST 2023; root:xnu-8796.101.5~3/RELEASE_ARM64_T6000 arm64