am I understanding correctly that usage of the new...
# eap
z
am I understanding correctly that usage of the new
-Xannotation-default-target
option will always mark code produced by this compilation as pre-release? reference: https://youtrack.jetbrains.com/issue/KT-75588/2.1.20-RC-was-compiled-by-a-pre-release-ve[…]e-loaded-by-this-version-of-the-compiler-warnings-despite If so, I think this is actually kind of a major issue because not having that escape hatch means that a large codebase either has to forego
allWarningsAsErrors
or meticulously go change every affected annotation 🤔
youtrack 1
1
t
cc @udalov
u
-> @Alejandro Serrano.Mena
z
This is really kind of a mess for library maintainers, we basically either have to mass move all annotation site targets manually to this new default, disable warnings as errors, or just add a whole bunch of warnings like this to every compilation. I don't see why opting in to this compiler behavior needs to result in pre-release artifacts and actually think this may prevent us from using 2.1.20 in annotation-heavy libraries as a result. Other compile-time-only features (for example jvm-default or contracts) don't result in this 🤔
Copy code
w: file:///Users/zacsweers/dev/kotlin/personal/metro/samples/interop/customAnnotations-dagger/src/test/kotlin/dev/zacsweers/metro/sample/MixedTest.kt:41:36 This annotation is currently applied to the value parameter only, but in the future it will also be applied to 'property'. See <https://youtrack.jetbrains.com/issue/KT-73255> for more details. To remove this warning, use the '@param:' annotation target.