Files
kotlin-fork/compiler/testData/diagnostics/tests/inline/wrongUsage.kt
T
2013-12-02 18:28:24 +04:00

56 lines
1.4 KiB
Kotlin

// !DIAGNOSTICS: -UNUSED_EXPRESSION -UNUSED_PARAMETER -UNUSED_VARIABLE -ASSIGNED_BUT_NEVER_ACCESSED_VARIABLE -UNUSED_VALUE
inline fun inlineFunWrongUsage(s: (p: Int) -> Unit) {
<!USAGE_IS_NOT_INLINABLE!>s<!>
if (true) <!USAGE_IS_NOT_INLINABLE!>s<!> else 0
var c = <!USAGE_IS_NOT_INLINABLE!>s<!>
c = <!USAGE_IS_NOT_INLINABLE!>s<!>
}
inline fun inlineFunWrongUsageExt(ext: Int.(p: Int) -> Unit) {
<!USAGE_IS_NOT_INLINABLE!>ext<!>
if (true) <!USAGE_IS_NOT_INLINABLE!>ext<!> else 0
var c = <!USAGE_IS_NOT_INLINABLE!>ext<!>
c = <!USAGE_IS_NOT_INLINABLE!>ext<!>
}
inline fun inlineFunWrongUsageInClosure(s: (p: Int) -> Unit) {
{
<!USAGE_IS_NOT_INLINABLE!>s<!>
if (true) <!USAGE_IS_NOT_INLINABLE!>s<!> else 0
var c = <!USAGE_IS_NOT_INLINABLE!>s<!>
c = <!USAGE_IS_NOT_INLINABLE!>s<!>
}()
}
inline fun inlineFunWrongUsageInClosureExt(ext: Int.(p: Int) -> Unit) {
{
<!USAGE_IS_NOT_INLINABLE!>ext<!>
if (true) <!USAGE_IS_NOT_INLINABLE!>ext<!> else 0
var c = <!USAGE_IS_NOT_INLINABLE!>ext<!>
c = <!USAGE_IS_NOT_INLINABLE!>ext<!>
}()
}
inline fun inlineFunNoInline(noinline s: (p: Int) -> Unit) {
s
if (true) s else 0
var c = s
c = s
}
inline fun inlineFunNoInline(noinline ext: Int.(p: Int) -> Unit) {
ext
if (true) ext else 0
var c = ext
c = ext
}