Eva
Eva
Usage note: I've been trying to use value classes in place of typealias on my side project to see how it feels, the downside is that it makes usages sites...
@damianw's solution seems like the way to go. Qualifiers will be directly supported and you can continue to use typealies with the qualifier if you so choose. The steps to...
Oh something important I just realized. The above assume the qualifier is annotating a type, but javax qualifiers are specified (and currently implemented) to annotate a parameter, method, or field...
You also get fun puzzles, like which ones of these resolve to the same type, and which are distinct? ```kotlin @Inject MyClass(@Named("a") arg: String) @Inject MyClass(arg: @Named("a") String) @Inject MyClass(@Named("a")...
Hm, would limiting each type to one qualifier be reasonable? We could treat the first 2 above the same and error on the third with multiple qualifier declarations. 🤔
As mentioned above, `kotlinx-serialization` may be a good source of [inspiration](https://kotlinlang.org/api/kotlinx.serialization/kotlinx-serialization-core/kotlinx.serialization/-serializable/) here as they *also* allow the annotation to be placed on both types and declarations. I can spend some...
Answer to the above: in kotlinx the annotation on the declaration takes precedence over the annotation on the type, so if you have both only the declaration one will be...
Seems like it's not seeing the scope annotation on the component for some reason? How are you declaring it, directly on ApplicationComponent?
That's a good question... they should've reported the same error.
The reason `isNotNull()` exists is because otherwise each assertion would have to make a decision on how to handle nulls. This ends up complicating every single implementation so it's convenient...