/kt48765.kt:10:13: warning: type argument for a type parameter T can't be inferred because it has incompatible upper bounds: String, Number (multiple incompatible classes). This will become an error in a future release
        B().foo(x, foo())
            ^^^
/kt48765.kt:14:9: warning: 'String' is a final type, and thus a value of the type parameter is predetermined
fun <T: String> foo(): T  {
        ^^^^^^
/kt48765.kt:15:15: warning: unchecked cast: String to T
    return "" as T // this cast is safe because String is final.
              ^^^^

