iOS
Swift
WKWebView

iOS11からweakの扱いが変わった?

以下のコードには問題があります。
しかし、iOS11では正常に動作し、 iOS10,9 ではクラッシュします。

通常であればクラッシュするのが正しいですが、
iOS11から動作が変わったよ〜など理由を知っている方がいましたら、コメントいただけると嬉しいです。
(Apple公式のソースなど)

問題のあるコード

import UIKit
import WebKit

class ViewController: UIViewController {

    weak var webView: WKWebView!

    override func viewDidLoad() {
        super.viewDidLoad()
        setupWebView()
    }

    private func setupWebView() {
        webView = WKWebView(frame: .zero) // UIView
        webView.uiDelegate = self
        webView.navigationDelegate = self
        view.addSubview(webView)
        webView.load(URLRequest(url: URL(string: "https://google.com")!))
    }
}

extension ViewController: WKUIDelegate, WKNavigationDelegate { }

スクリーンショット 2018-04-13 15.04.34.png

問題を修正したコード

    private func setupWebView() {
        let webView = WKWebView(frame: .zero)
        webView.uiDelegate = self
        webView.navigationDelegate = self
        view.addSubview(webView)
        webView.load(URLRequest(url: URL(string: "https://google.com")!))
        self.webView = webView
    }

なぜiOS11は問題の有るコードで動作するのか

求む :pray:

環境

Xcode 9.2