Quick Answer
Incorrect use of open on local variables
Understanding the Issue
The open modifier allows classes and members to be overridden in subclasses, but it's not applicable to local variables, which can't be subclassed or overridden.
The Problem
This code demonstrates the issue:
Kotlin
Error
// Problem: Invalid open modifier
fun example() {
open val local = 1 // Error
}
The Solution
Here's the corrected code:
Kotlin
Fixed
// Solution: Remove open from local
fun example() {
val local = 1 // Correct
}
// Proper use of open:
open class Base {
open val prop = 1 // Allowed
}
Key Takeaways
Only use open on class members that should be overridable in subclasses.