/*eslint no-cond-assign: "error"*/
if (user.jobTitle = 'manager') {
    // user.jobTitle is now incorrect
}

/*eslint valid-typeof: "error"*/
typeof foo === 'fucntion' // The typo in the 'function' word.

/*eslint no-self-compare: "error"*/
if (x === x) {
    x = 20;
}

/*eslint no-sparse-arrays: "error"*/
var colors = ['red',, 'blue']; // extra comma

/*eslint array-callback-return: "error"*/
[1, 2, 3].map(function(value) {
    value + 1; // forget to write `return`
}); // [undefined, undefined, undefined]

/*eslint curly: "error"*/
if (foo) foo++; bar++; // forget to wrap `bar++`

/*eslint no-redeclare: "error"*/
var a = 3;
var a = 10;

/*eslint no-new: "error"*/
new Person();

/*eslint no-return-assign: "error"*/
function doSomething() {
    return foo = bar + 2; // The true intent was to do a comparison (`==` or `===`).
}

/*eslint no-throw-literal: "error"*/
throw "error";

/*eslint no-unexpected-multiline: "error"*/
var bar = 'bar'
var foo = bar         // This entry is equivalent to `var foo = bar(1 || 2).toString()`.
(1 || 2).toString();

/*eslint no-unsafe-negation: "error"*/
if (!key in object) {
    // operator precedence makes it equivalent to (!key) in object
    // and type conversion makes it equivalent to (key ? "false" : "true") in object
}

if (!obj instanceof Ctor) {
    // operator precedence makes it equivalent to (!obj) instanceof Ctor
    // and it equivalent to always false since boolean values are not objects.
}

@@ -1116,33 +1116,33 @@
 bject) %7B%0A    // 
-o
+O
 perator preceden
@@ -1268,16 +1268,17 @@
 n object
+.
 %0A%7D%0A%0Aif (
@@ -1308,17 +1308,17 @@
 %0A    // 
-o
+O
 perator 
@@ -1451,12 +1451,139 @@
  objects.%0A%7D%0A
+%0A/*eslint no-extra-bind: %22error%22*/%0Avar x = function () %7B%0A    return 'bla';%0A%7D.bind(bar); // useless bind, can be safely removed%0A

add example for `no-extra-bind` rule