Make functions with 4 parameters testable
Merge pull request #30 from stygstra/fourargs

Make functions with 4 parameters testable
Update to latest Rust.
Some touchups.
Merge branch 'master' of github.com:BurntSushi/quickcheck
Remove Cargo.lock from quickcheck_macros.
More code cleanup.

It looks like rustc has gotten better at inferred to the type of
trait objects.

Also, use a macro to implement `Fun` to reduce churn when adding
support for functions of higher arity.
Fix quickcheck_macros dependencies.

The standard `quickcheck` crate no longer depends on `quickcheck_macros`.
This is partially in preparation for the impending Rust 1.0 stable
release, which will disable syntax extensions.

To use quickcheck_macros, explicitly specify it in your Cargo.toml:

    [dependencies.quickcheck_macros]
    git = "git://github.com/BurntSushi/quickcheck"

The `quickcheck_macros` crate now depends on `quickcheck`. While this
actually is not a compilation dependency of `quickcheck_macros` itself,
it is a dependency for any actual use of `#[quickcheck]`.

Since this requires a change to your Cargo.toml if you were using
`#[quickcheck]` without specifying `quickcheck_macros` in your Cargo.toml,
this is a breaking change.

[breaking-change]
API clean up to "builder" pattern.

A new `QuickCheck` type has been introduced, which uses the builder
pattern to permit configuration. This simplifies the API.

If you were using special configuration before, then you will need
to update your code. Code that was, e.g.,

    let conf = Config { tests: 50, max_tests: 1000 };
    let gen = quickcheck::gen(rand::task_rng(), 10);
    let result = quicktest_config(conf, gen, property);

to this:

    let result = QuickCheck::new()
                            .tests(50).max_tests(1000)
                            .gen(StdGen::new(rand::task_rng(), 10)
                            .quicktest(property);

These cases are probably rare though. The toplevel `quickcheck`
function remains and its semantics have not change, so most users
will not experience a breaking change.

[breaking-change]
Doc typos.
Expose a method to set the RNG.
Mark the crate as experimental.
Rename unshift(x) to insert(0, x)
Merge pull request #35 from schickling/patch-1

Rename unshift(x) to insert(0, x)
Fix fallout of numeric reform
Fix `is_zero()`/`num::zero()` deprecation warnings
Merge pull request #36 from japaric/fix-num

Fix fallout of numeric reform
fix macro: `TyNil` has been removed, use zero-length `TyTup`
Merge pull request #38 from japaric/fix-unit

fix macro: `TyNil` has been removed, use zero-length `TyTup`