Avatar
omochimetaru 6/7/2023 12:03 AM
The Swift Programming Language. Contribute to apple/swift development by creating an account on GitHub.
12:04 AM
↑ちょっとわかりにくいけど、 @Observable struct Foo { var foo: ... } の展開処理の結果として、 @ObservableTracked var foo: ... がプロパティに付与される部分。
12:06 AM
で、こういう事があるので、 memberAttributeマクロとaccessorマクロではどっちが先に展開されるか、みたいな規則もあったような気がする・・・
12:08 AM
https://github.com/apple/swift-evolution/blob/main/proposals/0389-attached-macros.md#ordering-of-macro-expansions いや、違うかも、展開順の影響を受けないように種別が設計されている・・・? (edited)
This maintains proposals for changes and user-visible enhancements to the Swift Programming Language. - swift-evolution/0389-attached-macros.md at main · apple/swift-evolution
12:10 AM
いや、それもちょっと違うな・・・ ここで書いてあるのは、2つの仕事をする一つのマクロがあるとき、それぞれの仕事ごとに元ソースが渡されて、結果がマージされるって言ってるだけだ