Miguel Schulz
03/17/2023, 10:48 AMweakclass Entry {
  private var class1: Class1?
  
  func start() {
    class1 = Class1()
    class1!.start()
  }
  func end() {
    class1 = nil
  }
}
class Class1 {
  lazy var class2 = Class2(class1: self)
  func start() {
    print(class2)
  }
}
class Class2 {
  weak var class1: Class1?
}protocol Class1Protocol {
  fun start()
}
class Class2(var class1: Class1Protocol)class Class1: Class1Protocol {
  lazy var class2 = Class2(class1: self)
  func start() {
    print(class2)
  }
}CLOVIS
03/17/2023, 11:00 AMPaul Woitaschek
03/17/2023, 11:35 AMPaul Woitaschek
03/17/2023, 11:48 AMclass NoKotlin {
        init(){
            print("I'm NoKotlin")
        }
        deinit{
            print("Bye NoKotlin")
        }
    }
    
    class YesKotlin {
        var ref : KotlinRef? = nil
        init(){
            self.ref = KotlinRef(instance: self)
            print("I'm YesKotlin. I never say bye!")
        }
        deinit{
            print("Bye YesKotlin")
        }
    }
    func run() {
        NoKotlin()
        YesKotlin()
    }Copy codepublic class KotlinRef(public val instance: Any)
Paul Woitaschek
03/17/2023, 11:49 AMI'm NoKotlin
Bye NoKotlin
I'm YesKotlin. I never say bye!Paul Woitaschek
03/17/2023, 11:57 AMCLOVIS
03/17/2023, 12:20 PMMiguel Schulz
03/17/2023, 12:21 PMJeff Lockhart
03/17/2023, 1:24 PMMiguel Schulz
03/17/2023, 1:30 PMJeff Lockhart
03/17/2023, 1:41 PMJeff Lockhart
03/17/2023, 8:54 PMkotlin.native.internal.GC.collect()