Is it valid to enable all of these flags, or do so...
# k2-adopters
g
Is it valid to enable all of these flags, or do some conflict?
Copy code
"-Xuse-k2",
"-Xuse-fir-extended-checkers",
"-Xuse-fir-ic",
"-Xuse-fir-lt",
(My full configuration, in case anyone is curious)
Copy code
val KOTLIN_COMPILER_ARGS = listOf(
    "-opt-in=kotlin.RequiresOptIn",
    "-opt-in=kotlin.Experimental",
    "-Xemit-jvm-type-annotations",
    "-Xenhance-type-parameter-types-to-def-not-null",
    "-Xjsr305=strict",
    "-Xbackend-threads=0",
    "-Xtype-enhancement-improvements-strict-mode",
    "-Xuse-fast-jar-file-system",
    "-Xcontext-receivers",
    "-Xextended-compiler-checks",
    "-Xenable-incremental-compilation",
    "-Xinference-compatibility",
    "-Xself-upper-bound-inference",
    "-Xunrestricted-builder-inference",
    "-Xnew-inference",
    "-Xuse-k2",
    "-Xuse-fir-extended-checkers",
    "-Xuse-fir-ic",
    "-Xuse-fir-lt",
    "-Xuse-mixed-named-arguments"
)
d
It's ok, they don't conflict between each other
BTW -Xnew-inference is useless, since new inference became default in 1.4
g
Ah okay -- ty for the info! 🙏
This new
use-mixed-named-arguments
is pretty neat, I don't remember seeing that one until recently
d
This on was released in 1.5 IIRC On in 1.4 too
g
Oh I guess I just never noticed it then
I usually try to dump all the flags once every few months to see if there are any new ones
a
AFAIK only -Xuse-k2 is supposed to be used externally, the rest is some internal flags (probably shouldn’t use these unless you know what you’re doing).