<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><b class="">Resolved</b>: `if case 1...10 = myNumber { ... }` is an abomination.<div class=""><br class=""></div><div class="">It confuses inexperience developers. At least those few who are&nbsp;</div><div class="">aware of its existence. Using the assignment operator for pattern&nbsp;</div><div class="">matching adds insult to injury.&nbsp;</div><div class=""><br class=""></div><div class="">I far prefer</div><div class="">&nbsp; &nbsp; `if case .failure(let error) ~= result { ... } `</div><div class="">to</div><div class=""><div class="">&nbsp; &nbsp; `if case .failure(let error) =&nbsp;result&nbsp;{...}`</div></div><div class=""><br class=""></div><div class="">Though worthy, this isn't a popular pattern. &nbsp;A highly unscientific survey of&nbsp;</div><div class="">gist reveal:</div><div class=""><br class=""></div><div class=""><div class="">* Gists using "if case": 94</div><div class="">* Gists that could use "if let" instead of "if case": Approximately 94-ish</div><div class="">* Gists using "guard case" (with significant overlap with "if case"): 54</div><div class="">* Gists that could use "guard let" or "guard x != nil" or "guard x == .enumeration" instead: About 54-ish</div><div class="">* Standard library: 1 use of "guard case", 5 uses of "if case".</div></div><div class=""><br class=""></div><div class=""><b class="">Note</b>:</div><div class=""><div class=""><br class=""></div><div class="">* I love `guard case`/`if case` for `Result` enumerations</div><div class="">* I &nbsp;love`for case let x? in [optionals]`.&nbsp;</div><div class=""><br class=""></div></div><div class=""><div class="">I don't expect changing `=` to `~=` would make a huge difference in adoption&nbsp;</div><div class="">but it would satisfy &nbsp;my inner code critic. Changing it would be breaking</div><div class="">but as far as I can tell, it wouldn't really break *that* *much* *code*</div><div class=""><br class=""></div><div class="">-- E</div><div class=""><br class=""></div><div class=""><br class=""></div></div></body></html>