Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Commits on Oct 20, 2012
  1. @tsdh @stuarthalloway

    Add docstring and :added metadata to definterface.

    tsdh authored stuarthalloway committed
    Signed-off-by: Stuart Halloway <>
  2. @tsdh @stuarthalloway

    CLJ-1024: Check for invalid varags/destrucuring uses.

    tsdh authored stuarthalloway committed
    Protocol, interface method declarations don't allow for varags and
    destructuring support.  Currently, for example
      (defprotocol FooBar
        (foo [this & more]))
    compiles just fine, and & is interpreted as a usual argument that happens to be
    named & without special meaning.  But clearly, the user wanted to specify a
    varags parameter here.  The same applies to definterface.
    Similarly, providing method implementations via defrecord, deftype, and reify
    don't allow for varags (but dynamic extenions via extend do).
    So this patch makes defprotocol and definterface throw an
    IllegalArgumentException if a user tries to use varargs and destructuring in
    method signatures.
    Similarly, defrecord, deftype, and reify throw an IllegalArgumentException if
    any method implementation arglist contains a varargs argument.
    Signed-off-by: Stuart Halloway <>
Commits on Jun 16, 2012
  1. @tsdh @stuarthalloway

    Don't use descructuring in defrecord/deftype arglists to get a slight…

    tsdh authored stuarthalloway committed
    …ly better error message when forgetting to specify the fields vector.
    Signed-off-by: Stuart Halloway <>
Something went wrong with that request. Please try again.