class C(val s:String)
                  
                  
                  
                  
                  
                  abstract class A {
                  
                  
                      open val c:C by lazy(LazyThreadSafetyMode.NONE) { C("bla") }
                  
                  
                  }
                  
                  
                  
                  
                  
                  class B: A() {
                  
                  
                      override val c: C by lazy(LazyThreadSafetyMode.NONE) { C("blabla") }
                  
                  
                  }
                  
                  
                  
                  
                  
                  
                  
                  
                  проблема: класс B через раз берет инициализатор для переменной с из родительского класса. К слову у самого не получалось это воспроизвести, но есть отчеты от пользователей, которые говорят о такой проблеме
                  
                  
                
Если проблема в компиляторе, то оно вряд ли воспроизводилось бы через раз, а если с ним всё ок, то такой ситуации вообще не должно быть. Может, происходит что-то другое?
А Thread Safety зачем отключаете ? Вот возможно в нем и будет артефакт
Обсуждают сегодня