[core.specs] Check early if let binding vector is even

Description

If you miss a value in the let binding vector, Spec will return a rather verbose and misguiding message:

The crux of the problem here is the odd number of parameters in the binding. Spec gets to it anyway, but if it first finds a parameter that is an invalid binding form, it will bark at that instead. With the suggested patch, the error looks like:

Patch: clj-2376-2.patch

Environment

None

Assignee

Unassigned

Reporter

Alexander Yakushev

Labels

Approval

Vetted

Patch

Code

Fix versions

Affects versions

Priority

Minor
Configure