What it does
Warn you that this is bad style, recommend removing the let binding
Advantage
Clearly, it is not idiomatic to use refutable pattern matching on booleans
Drawbacks
None as far as I know
Example
let k = 5;
if let true = k > 1 { /* */ }
Could be written as:
let k = 5;
if k > 1 { /* */ }
AND
if let true = true { /* some code */ }
Could be written as:
AND
if let true = false { /* some code */ }
Should trigger an unreachable code warning