e6b5cb5216
Update includes:
- Changing syntax of `OI/`NI` tags from `<!NI;TAG!>` to `<!TAG{NI}!>`
- Fix some incorrect directives
- Change order of diagnostics in some places
- Remove ignored diagnostics from FIR test data (previously `DIAGNOSTICS` didn't work)
- Update FIR dumps in some places and add `FIR_IDENTICAL` if needed
- Replace all JAVAC_SKIP with SKIP_JAVAC directive
33 lines
704 B
Kotlin
Vendored
33 lines
704 B
Kotlin
Vendored
// !DIAGNOSTICS: -UNUSED_VARIABLE
|
|
// !WITH_NEW_INFERENCE
|
|
// !LANGUAGE: -NonStrictOnlyInputTypesChecks
|
|
// ISSUE: KT-29307
|
|
|
|
fun test_1(map: Map<String, String>) {
|
|
val x = <!TYPE_INFERENCE_ONLY_INPUT_TYPES{NI}!>map[<!CONSTANT_EXPECTED_TYPE_MISMATCH{OI}!>42<!>]<!> // OK
|
|
}
|
|
|
|
open class A
|
|
|
|
class B : A()
|
|
|
|
fun test_2(map: Map<A, String>) {
|
|
val x = <!TYPE_INFERENCE_ONLY_INPUT_TYPES{NI}!>map[<!CONSTANT_EXPECTED_TYPE_MISMATCH{OI}!>42<!>]<!>
|
|
}
|
|
|
|
fun test_3(m: Map<*, String>) {
|
|
val x = m[42] // should be ok
|
|
}
|
|
|
|
fun test_4(m: Map<out Number, String>) {
|
|
val x = m.get(42) // should be ok
|
|
}
|
|
|
|
fun test_5(map: Map<B, Int>, a: A) {
|
|
map.get(a)
|
|
}
|
|
|
|
fun test_6(map: Map<A, Int>, b: B) {
|
|
map.get(b)
|
|
}
|