Find why neither deinitializer runs after the local variables are cleared.
swift
final class Playlist {
var current: Song?
deinit { print("playlist released") }
}
final class Song {
var playlist: Playlist?
deinit { print("song released") }
}
var playlist: Playlist? = Playlist()
var song: Song? = Song()
playlist?.current = song
song?.playlist = playlist
playlist = nil
song = nil