lift/framework — pull request #1409 by farmdawgnation (2013-02-20 04:18:54+00:00)
Title: Parameterized tide: Tweak ~> behavior for ParamFailure and add ~>!

So, we may decide we want this to go into 3.0, or we may decide we don't want it at all. But there were a few people on the list who felt like this change made sense, and it makes my life nicer for some Anchor Tab stuff I'm doing, so here we go.

This pull request does two things.

* Changes the behavior of `ParamFailure.~>` to return an instance of the param failure it was called on.
* Provides `~>!` that behaves exactly as `~>` did before. The idea of chaining ParamFailures together was suggested, but I'm not entirely sure it makes sense. We can discuss further if there's disagreement on that point.

There was a mailing list discussion here: https://groups.google.com/d/topic/liftweb/JC9dKmUPxSg/discussion

In summary, we felt this change made sense because currently `?~` does nothing when it's called on a `Failure`, and there was no equivalent for `~>` and ParamFailures. Given that we have `?~!` for Failures, it made sense to keep with the convention that exclamation points change things. So, `~>` was altered and `~>!` was added.

Let me know if there's anything else you need. :)