Re: std.unittests/exception Update and Vote

2011-02-09 Thread Nick Sabalausky
Steven Schveighoffer schvei...@yahoo.com wrote in message 
news:op.vqm05qx8eav7ka@steve-laptop...

 *playing* in the snow is way different than *battling* the snow :)

Not to me ;)  (It's freeze your nuts off either way.)




Re: std.unittests/exception Update and Vote

2011-02-08 Thread Jonathan M Davis
*Sigh* I was hoping for a clearer vote than this.

assertThrown, assertNotThrown, and collectExceptionMsg are clearly in, but the 
vote on assertPred is not so clear.

No
---
Brad Roberts (I appeared to be against but didn't vote outright)
David Nadlinger 
Don
Jim? (I _think_ that he was voting no, but he didn't seem to think that he 
could 
vote)
Michel Fortin
SHOO
Spir

Yes
---
Andrei Alexandrescu (at least he was until the most recent discussion on 
improving assert)
Andrej Mitrovic
Andrew Wiley
Jens Mueller
Lars T. Kyllingstad (from his comments, he appears to be in favor, but he never 
outright voted)
Nick Sabalausky
Tomek Sowiński (he definitely seems to be in favor but didn't vote outright)


I _think_ that I got everyone, but most of the discussion on it has been how to 
improve it, not voting on whether it went in or not. In some cases, it's not 
entirely clear that someone actually voted even if their intent was clear. And 
there are definitely people who were involved in the discussion who never 
voted. 
I think that in the future, we need to try and separate the improvement 
discussions from the votes, with a specific, relatively short time frame (as in 
more like a week than a month) for votes - rather than having them spread 
throughout the discussion. I _tried_ to get people to vote at the end, but I 
guess that I wasn't clear enough or not enough people were paying attention.

So, it's around a tie with regards to assertPred, with a definite lack of 
voting. 
We have not gotten a commitment that assert will be improved, and assertPred 
does more than assert could do even if it were improved (out of the 8 overloads 
of assertPred, assert could only replace two of them at best - albeit the most 
useful two). Don asked me to open an enhancement request for improving assert, 
which I still need to do, but it's not clear that it's actually going to 
happen, 
and at least some of the voting seems to be done with the idea that if we're 
going to get an improved assert, then there's no need for assertPred (which I'm 
not sure I agree with, but it could be debated).

So, it's obvious from those who voted that there is no overwhelming vote in 
favor of adding assertPred to Phobos, but it's not exactly against either - 
though there are some people on both sides who are very strongly. We got a 
fairly ambigous vote IMHO.

So, I don't know what that means we should do. Ideally, I'd prefer to have a 
second vote to make it clear, since so few people voted (and many of those who 
did weren't clear about it), and I had to scour older posts to find most of 
them. 
But it's not like we have formalized rules on all of this yet. Looking at the 
Boost page that Andrei gave previously ( 
http://www.boost.org/community/reviews.html ) does not make it all clear about 
what Boost does with regards to voting.

- Jonathan M Davis


Re: std.unittests/exception Update and Vote

2011-02-08 Thread Lars T. Kyllingstad
On Tue, 08 Feb 2011 03:52:30 -0800, Jonathan M Davis wrote:

 *Sigh* I was hoping for a clearer vote than this.
 
 assertThrown, assertNotThrown, and collectExceptionMsg are clearly in,
 but the vote on assertPred is not so clear.
 
 No
 ---
 Brad Roberts (I appeared to be against but didn't vote outright) David
 Nadlinger
 Don
 Jim? (I _think_ that he was voting no, but he didn't seem to think that
 he could vote)
 Michel Fortin
 SHOO
 Spir
 
 Yes
 ---
 Andrei Alexandrescu (at least he was until the most recent discussion on
 improving assert)
 Andrej Mitrovic
 Andrew Wiley
 Jens Mueller
 Lars T. Kyllingstad (from his comments, he appears to be in favor, but
 he never outright voted)

Sorry, forgot to place my vote.

I am definitely in favour of adding assertThrown, assertNotThrown and 
collectExceptionMsg, but as of lately I'm on the fence regarding 
assertPred.  If it turns out to be both possible and desirable to improve 
the messages produced by built-in assert, that may be better.  I'd like 
to see how that plays out before placing a definitive vote.

Also, if it turns out only the exception-related stuff goes into Phobos, 
maybe std.exception will be the best place to put it after all?

-Lars


Re: std.unittests/exception Update and Vote

2011-02-08 Thread Steven Schveighoffer
On Tue, 08 Feb 2011 06:52:30 -0500, Jonathan M Davis jmdavisp...@gmx.com  
wrote:



*Sigh* I was hoping for a clearer vote than this.


Sorry for the lack of voting/attention, I've had barely any time to work  
with D lately, and I haven't even looked at your lib.


-Steve

P.S. I'm f***ing sick of snow...


Re: std.unittests/exception Update and Vote

2011-02-08 Thread Nick Sabalausky
Steven Schveighoffer schvei...@yahoo.com wrote in message 
news:op.vqk74auaeav7ka@steve-laptop...
 On Tue, 08 Feb 2011 06:52:30 -0500, Jonathan M Davis jmdavisp...@gmx.com 
 wrote:

 *Sigh* I was hoping for a clearer vote than this.

 Sorry for the lack of voting/attention, I've had barely any time to work 
 with D lately, and I haven't even looked at your lib.

 -Steve

 P.S. I'm f***ing sick of snow...

I got sick of snow ten years ago. Makes me wonder why I'm still in 
Cleveland...




Re: std.unittests/exception Update and Vote

2011-02-08 Thread Steven Schveighoffer

On Tue, 08 Feb 2011 15:36:14 -0500, Nick Sabalausky a@a.a wrote:


Steven Schveighoffer schvei...@yahoo.com wrote in message
news:op.vqk74auaeav7ka@steve-laptop...
On Tue, 08 Feb 2011 06:52:30 -0500, Jonathan M Davis  
jmdavisp...@gmx.com

wrote:


*Sigh* I was hoping for a clearer vote than this.


Sorry for the lack of voting/attention, I've had barely any time to work
with D lately, and I haven't even looked at your lib.

-Steve

P.S. I'm f***ing sick of snow...


I got sick of snow ten years ago. Makes me wonder why I'm still in
Cleveland...


I'd wonder why you were in Cleveland for a number of reasons ;)

This is the worst winter I've ever experienced.  My whole body aches from  
battling ice dams for weeks.  There's few things worse than having to put  
on snow clothes still wet (and smelly) from yesterday to go up on a ladder  
in the rain and whack ice you cleared just yesterday because water is  
again seeping in your house...


-Steve


Re: std.unittests/exception Update and Vote

2011-02-08 Thread Andrei Alexandrescu

On 2/8/11 3:50 PM, Steven Schveighoffer wrote:

On Tue, 08 Feb 2011 15:36:14 -0500, Nick Sabalausky a@a.a wrote:


Steven Schveighoffer schvei...@yahoo.com wrote in message
news:op.vqk74auaeav7ka@steve-laptop...

On Tue, 08 Feb 2011 06:52:30 -0500, Jonathan M Davis
jmdavisp...@gmx.com
wrote:


*Sigh* I was hoping for a clearer vote than this.


Sorry for the lack of voting/attention, I've had barely any time to work
with D lately, and I haven't even looked at your lib.

-Steve

P.S. I'm f***ing sick of snow...


I got sick of snow ten years ago. Makes me wonder why I'm still in
Cleveland...


I'd wonder why you were in Cleveland for a number of reasons ;)

This is the worst winter I've ever experienced. My whole body aches from
battling ice dams for weeks. There's few things worse than having to put
on snow clothes still wet (and smelly) from yesterday to go up on a
ladder in the rain and whack ice you cleared just yesterday because
water is again seeping in your house...

-Steve


I'm completely weird I guess. I love snow and winter. I'm just back from 
a skiing day non-stop 11am to 4pm on the most difficult slopes 
(including two extreme terrain runs starting at 3963 meters). My water 
and food froze in my pockets. At times I could hardly feel my face. I 
still breathe twice the normal rate. Every cubic inch of my body aches. 
And... I'm loving every minute of it.



Andrei


Re: std.unittests/exception Update and Vote

2011-02-08 Thread spir

On 02/09/2011 01:38 AM, Andrei Alexandrescu wrote:

On 2/8/11 3:50 PM, Steven Schveighoffer wrote:

On Tue, 08 Feb 2011 15:36:14 -0500, Nick Sabalausky a@a.a wrote:


Steven Schveighoffer schvei...@yahoo.com wrote in message
news:op.vqk74auaeav7ka@steve-laptop...

On Tue, 08 Feb 2011 06:52:30 -0500, Jonathan M Davis
jmdavisp...@gmx.com
wrote:


*Sigh* I was hoping for a clearer vote than this.


Sorry for the lack of voting/attention, I've had barely any time to work
with D lately, and I haven't even looked at your lib.

-Steve

P.S. I'm f***ing sick of snow...


I got sick of snow ten years ago. Makes me wonder why I'm still in
Cleveland...


I'd wonder why you were in Cleveland for a number of reasons ;)

This is the worst winter I've ever experienced. My whole body aches from
battling ice dams for weeks. There's few things worse than having to put
on snow clothes still wet (and smelly) from yesterday to go up on a
ladder in the rain and whack ice you cleared just yesterday because
water is again seeping in your house...

-Steve


I'm completely weird I guess. I love snow and winter. I'm just back from a
skiing day non-stop 11am to 4pm on the most difficult slopes (including two
extreme terrain runs starting at 3963 meters). My water and food froze in my
pockets. At times I could hardly feel my face. I still breathe twice the normal
rate. Every cubic inch of my body aches. And... I'm loving every minute of it.


Can understand you. But, by me (south-west of F) get about 15 °C these days... 
abnormal temperatures upwards, after having frozen as early as late October.


Denis
--
_
vita es estrany
spir.wikidot.com



Re: std.unittests/exception Update and Vote [Please Vote]

2011-02-07 Thread Jonathan M Davis
There are a number of people who have responded positively to my unit test 
functions - including assertPred - as it has moved through the review process. 
Please reiterate that positive vote here (or negative if you're so inclined). 
The deadline for votes is today.

As it stands, I believe that assertThrown, assertNotThrown, and 
collectExceptionMsg will clearly pass the vote, but it's not so clear if the 
vote is in favor of assertPred. Going off just the votes in this thread, I 
believe that it would be a tie as to whether assertPred made it in or not. But 
if we took the votes for the group of functions as a whole from previous posts, 
I believe that it would get in. It would be better though if such votes were 
confirmed here - especially if the vote is close. I'd prefer not to have an 
ambiguous vote.

So, please vote.

- Jonathan M Davis


Re: std.unittests/exception Update and Vote [Please Vote]

2011-02-07 Thread Nick Sabalausky
Jonathan M Davis jmdavisp...@gmx.com wrote in message 
news:mailman.1363.1297067437.4748.digitalmar...@puremagic.com...
 There are a number of people who have responded positively to my unit test
 functions - including assertPred - as it has moved through the review 
 process.
 Please reiterate that positive vote here (or negative if you're so 
 inclined).
 The deadline for votes is today.

 As it stands, I believe that assertThrown, assertNotThrown, and
 collectExceptionMsg will clearly pass the vote, but it's not so clear if 
 the
 vote is in favor of assertPred. Going off just the votes in this thread, I
 believe that it would be a tie as to whether assertPred made it in or not. 
 But
 if we took the votes for the group of functions as a whole from previous 
 posts,
 I believe that it would get in. It would be better though if such votes 
 were
 confirmed here - especially if the vote is close. I'd prefer not to have 
 an
 ambiguous vote.

 So, please vote.


Reiterating my previous vote: Yes to all.




Re: std.unittests/exception Update and Vote [Please Vote]

2011-02-07 Thread spir

On 02/07/2011 09:30 AM, Jonathan M Davis wrote:

There are a number of people who have responded positively to my unit test
functions - including assertPred - as it has moved through the review process.
Please reiterate that positive vote here (or negative if you're so inclined).
The deadline for votes is today.

As it stands, I believe that assertThrown, assertNotThrown, and
collectExceptionMsg will clearly pass the vote, but it's not so clear if the
vote is in favor of assertPred. Going off just the votes in this thread, I
believe that it would be a tie as to whether assertPred made it in or not. But
if we took the votes for the group of functions as a whole from previous posts,
I believe that it would get in. It would be better though if such votes were
confirmed here - especially if the vote is close. I'd prefer not to have an
ambiguous vote.

So, please vote.


(dunno whether a newcomer like me is supposed to vote, but in case:
* assertThrown : +
* assertNotThrown  : ?
* collectExceptionMsg  : ?
* assertPred   : -
I only really need something with semantic similars to asserThrown's. My 
overall picture of asserts and unittests is different, anyway --as you know.

)

Denis
--
_
vita es estrany
spir.wikidot.com



Re: std.unittests/exception Update and Vote [Please Vote]

2011-02-07 Thread Jim
Not that I have a say in this matter, but although I think the code is 
excellent in technical merits, is not a central part of the problem it aims to 
mend actually an insufficiency in druntime?

I'd rather see the regular, language provided assert() fulfilling the needs as 
the assertion mechanism. Why would it otherwise be there? It would be like a 
language feature that nobody uses because it isn't good enough.. :/

Jim


Jonathan M Davis Wrote:

 There are a number of people who have responded positively to my unit test 
 functions - including assertPred - as it has moved through the review 
 process. 
 Please reiterate that positive vote here (or negative if you're so inclined). 
 The deadline for votes is today.
 
 As it stands, I believe that assertThrown, assertNotThrown, and 
 collectExceptionMsg will clearly pass the vote, but it's not so clear if the 
 vote is in favor of assertPred. Going off just the votes in this thread, I 
 believe that it would be a tie as to whether assertPred made it in or not. 
 But 
 if we took the votes for the group of functions as a whole from previous 
 posts, 
 I believe that it would get in. It would be better though if such votes were 
 confirmed here - especially if the vote is close. I'd prefer not to have an 
 ambiguous vote.
 
 So, please vote.
 
 - Jonathan M Davis



Re: std.unittests/exception Update and Vote [Please Vote]

2011-02-07 Thread Jonathan M Davis
On Monday 07 February 2011 03:36:33 Jim wrote:
 Not that I have a say in this matter, but although I think the code is
 excellent in technical merits, is not a central part of the problem it
 aims to mend actually an insufficiency in druntime?
 
 I'd rather see the regular, language provided assert() fulfilling the needs
 as the assertion mechanism. Why would it otherwise be there? It would be
 like a language feature that nobody uses because it isn't good enough.. :/

That's part of what's up in the air. However,

1. assertPred does more than assert will ever do, no matter how much it's 
improved - though the likely _main_ usages of assertPred (such as 
assertPred!==(a, b) instead of assert(a == b)) may end up fixed in assert. 
Stuff 
like assertPred!opCmp, assertPred!-, and assertPred!+= won't ever be in 
assert, because they do more than just improve the error message on failure. 
It's pretty much just the versions which take a comparison operator and a 
general predicate which could be replaced by an improved assert.

2. Even if it is certain that assert will be improved, and even if it is 
certain 
that we don't want assertPred in std.exception in the long run, we still may 
want it in std.exception until assert _does_ get improved.

3. Some people may just assertPred regardless of what happens with assert.

So, yes. It would be great if assert were improved. But it's not clear that it 
will be, and even if it _does_ happen that doesn't necessarily mean that we 
don't want assertPred in Phobos.

- Jonathan M Davis


Re: std.unittests/exception Update and Vote [Please Vote]

2011-02-07 Thread Andrew Wiley
On Mon, Feb 7, 2011 at 2:30 AM, Jonathan M Davis jmdavisp...@gmx.comwrote:

 There are a number of people who have responded positively to my unit test
 functions - including assertPred - as it has moved through the review
 process.
 Please reiterate that positive vote here (or negative if you're so
 inclined).
 The deadline for votes is today.

 As it stands, I believe that assertThrown, assertNotThrown, and
 collectExceptionMsg will clearly pass the vote, but it's not so clear if
 the
 vote is in favor of assertPred. Going off just the votes in this thread, I
 believe that it would be a tie as to whether assertPred made it in or not.
 But
 if we took the votes for the group of functions as a whole from previous
 posts,
 I believe that it would get in. It would be better though if such votes
 were
 confirmed here - especially if the vote is close. I'd prefer not to have an
 ambiguous vote.

 So, please vote.


I realize I'm not much of an active community member, but I would vote yes
to all. I agree with you that assertPred does more than assert by itself
could ever reasonably do, and I don't find it difficult to understand (at
least, no more difficult than the a  b binaryFun syntax).


Re: std.unittests/exception Update and Vote

2011-02-06 Thread Jens Mueller
Jonathan M Davis wrote:
 Okay, the latest code and documentation is here: http://is.gd/HZQwNz
 
 I've also made the changes in my github fork of Phobos here: 
 https://github.com/jmdavis/phobos . So, if this passes the vote, it's just a 
 pull request away from being in Phobos.
 
 assertPred, assertThrown, assertNotThrown, and collectExceptionMsg have been 
 merged into std.exception and their documentation updated again. There are 
 fewer 
 examples now, and hopefully it's more to everyone's liking, though the 
 changes 
 aren't drastic. Hopefully, I didn't miss anything that needed changing.
 
 Also, since collectExceptionMsg was catching Throwable and collectException 
 was 
 catching Exception, I made them both templated on the type to catch with 
 Exception as the default. So, you can use both to catch any Throwable, but 
 they 
 default to Exception, so no code should break as a result. I kept Exception 
 in 
 their names with the idea that you really shouldn't be catching Throwable or 
 Errors except in exception circumstances, so collectException is more correct 
 for general use and its name doesn't encourage people to catch the wrong 
 thing 
 (it also avoids having to create an alias for backwards compatability).
 
 We're coming up on the time when the proposal has to be voted in or out (Feb 
 7th). It looks like Don and/or Walter _may_ make it so that assert is 
 improved 
 such that it does some of what assertPred does, printing much better error 
 messages, and if that's the case, assertPred will need to be reworked or 
 tossed 
 entirely (but whether that happens depends on what they decide between now 
 and 
 Feb 7th). So, unless Andrei has a problem with it, I'd ask that you vote for 
 assertPred separately from assertThrown, assertNotThrown, and 
 collectExceptionMsg. So, if it's decided that assert is going to be improved 
 and 
 assertPred won't work as is, at least we can get assertThrown, 
 assertNotThrown, 
 and collectExceptionMsg into Phobos (assuming that they pass the vote). If 
 assert is improved and assertPred doesn't make it in, and some portion of 
 assertPred's other capabilities should still be in Phobos, they can be 
 reworked 
 in a future proposal (though if assert doesn't get improved, then they're in 
 assertPred as it is).
 
 So, please make any last comments or suggestions on this proposal, and vote 
 on 
 whether you think that assertPred should be in Phobos (assuming that assert 
 isn't going to be improved such that assertPred isn't necessary) and whether 
 you 
 think that assertThrown, assertNotThrown, and collectExceptionMsg should get 
 in 
 regardless of whether assertPred does.

I vote for inclusion of assertThrown and assertNotThrown.
BTW will an improved built-in assert support something like
assert(notThrown(expression)) with a good error message?

collectExceptionMsg may seem too simple and not useful. But I think it
should be included because I don't see how to write a good one-liner
using collectException for the equivalent of
assert(collectExceptionMsg(myExpression) == MyMessage);
That's why I think it should be included as well.

collectExceptionMsg's implementation may be changed using
collectException like this (untested code):

auto result = collectException!(E)(expression());
if (result is null) return cast(string)null;
elsereturn result.msg;

But that can be done at a later point.

I'm a bit unhappy with how std.unittests ended. I understand that having
a better assert in the language itself is much preferred. Because only
this way one can make sure that it works properly with contracts. On
bright side Jonathan proposing better assertions started this whole
process and this is very important to me. Thank you very much.
I also vote for inclusion of assertPred. Maybe one can make it
deprecated even though it's a bit strange. And once the new built-in
assert is ready replace assertPred's code to give a good message
describing how to migrate. I'm in favor of improved assertions even
though they will be replaced later. Because I cannot foresee when the
new built-in assert will be available.

Jens


Re: std.unittests/exception Update and Vote

2011-02-05 Thread Don

Jonathan M Davis wrote:

Okay, the latest code and documentation is here: http://is.gd/HZQwNz

I've also made the changes in my github fork of Phobos here: 
https://github.com/jmdavis/phobos . So, if this passes the vote, it's just a 
pull request away from being in Phobos.


assertPred, assertThrown, assertNotThrown, and collectExceptionMsg have been 
merged into std.exception and their documentation updated again. There are fewer 
examples now, and hopefully it's more to everyone's liking, though the changes 
aren't drastic. Hopefully, I didn't miss anything that needed changing.


Also, since collectExceptionMsg was catching Throwable and collectException was 
catching Exception, I made them both templated on the type to catch with 
Exception as the default. So, you can use both to catch any Throwable, but they 
default to Exception, so no code should break as a result. I kept Exception in 
their names with the idea that you really shouldn't be catching Throwable or 
Errors except in exception circumstances, so collectException is more correct 
for general use and its name doesn't encourage people to catch the wrong thing 
(it also avoids having to create an alias for backwards compatability).


We're coming up on the time when the proposal has to be voted in or out (Feb 
7th). It looks like Don and/or Walter _may_ make it so that assert is improved 
such that it does some of what assertPred does, printing much better error 
messages, and if that's the case, assertPred will need to be reworked or tossed 
entirely (but whether that happens depends on what they decide between now and 
Feb 7th). So, unless Andrei has a problem with it, I'd ask that you vote for 
assertPred separately from assertThrown, assertNotThrown, and 
collectExceptionMsg. So, if it's decided that assert is going to be improved and 
assertPred won't work as is, at least we can get assertThrown, assertNotThrown, 
and collectExceptionMsg into Phobos (assuming that they pass the vote). If 
assert is improved and assertPred doesn't make it in, and some portion of 
assertPred's other capabilities should still be in Phobos, they can be reworked 
in a future proposal (though if assert doesn't get improved, then they're in 
assertPred as it is).


So, please make any last comments or suggestions on this proposal, and vote on 
whether you think that assertPred should be in Phobos (assuming that assert 
isn't going to be improved such that assertPred isn't necessary) and whether you 
think that assertThrown, assertNotThrown, and collectExceptionMsg should get in 
regardless of whether assertPred does.


- Jonathan M Davis


Yes for assertThrown and assertNotThrown. Ambivalent about 
collectExceptionMsg.
I strongly believe that assertPred should not be included. But I think 
it can be done properly. Please make a bugzilla request for the 
improvements to assert().


Re: std.unittests/exception Update and Vote

2011-02-05 Thread David Nadlinger

On 2/4/11 4:05 PM, Jonathan M Davis wrote:

So, please make any last comments or suggestions on this proposal, and vote on
whether you think that assertPred should be in Phobos (assuming that assert
isn't going to be improved such that assertPred isn't necessary) and whether you
think that assertThrown, assertNotThrown, and collectExceptionMsg should get in
regardless of whether assertPred does.


I think the topic has already been discussed quite exhaustive, so I'll 
just list my votes: Strong yes for assertThrown (I have something like 
that in all of my D1/D2 projects), rather ambivalent regarding 
assertNotThrown and collectExceptionMsg, and a definite no to assertPred 
– we can do better than that!


David


Re: std.unittests/exception Update and Vote

2011-02-05 Thread Nick Sabalausky
Jonathan M Davis jmdavisp...@gmx.com wrote in message 
news:mailman.1276.1296831944.4748.digitalmar...@puremagic.com...

 So, please make any last comments or suggestions on this proposal, and 
 vote on
 whether you think that assertPred should be in Phobos (assuming that 
 assert
 isn't going to be improved such that assertPred isn't necessary) and 
 whether you
 think that assertThrown, assertNotThrown, and collectExceptionMsg should 
 get in
 regardless of whether assertPred does.


I'm in favor of all of them.

Sure, maybe we could do better than assertPred, but when's that actually 
going to happen? In the meantime, assertPred is a hell of an improvement 
over the current state and it exists *now*. I don't want to needlessly 
hijack the present just for the sake of some still-hypothetical future.




std.unittests/exception Update and Vote

2011-02-04 Thread Jonathan M Davis
Okay, the latest code and documentation is here: http://is.gd/HZQwNz

I've also made the changes in my github fork of Phobos here: 
https://github.com/jmdavis/phobos . So, if this passes the vote, it's just a 
pull request away from being in Phobos.

assertPred, assertThrown, assertNotThrown, and collectExceptionMsg have been 
merged into std.exception and their documentation updated again. There are 
fewer 
examples now, and hopefully it's more to everyone's liking, though the changes 
aren't drastic. Hopefully, I didn't miss anything that needed changing.

Also, since collectExceptionMsg was catching Throwable and collectException was 
catching Exception, I made them both templated on the type to catch with 
Exception as the default. So, you can use both to catch any Throwable, but they 
default to Exception, so no code should break as a result. I kept Exception in 
their names with the idea that you really shouldn't be catching Throwable or 
Errors except in exception circumstances, so collectException is more correct 
for general use and its name doesn't encourage people to catch the wrong thing 
(it also avoids having to create an alias for backwards compatability).

We're coming up on the time when the proposal has to be voted in or out (Feb 
7th). It looks like Don and/or Walter _may_ make it so that assert is improved 
such that it does some of what assertPred does, printing much better error 
messages, and if that's the case, assertPred will need to be reworked or tossed 
entirely (but whether that happens depends on what they decide between now and 
Feb 7th). So, unless Andrei has a problem with it, I'd ask that you vote for 
assertPred separately from assertThrown, assertNotThrown, and 
collectExceptionMsg. So, if it's decided that assert is going to be improved 
and 
assertPred won't work as is, at least we can get assertThrown, assertNotThrown, 
and collectExceptionMsg into Phobos (assuming that they pass the vote). If 
assert is improved and assertPred doesn't make it in, and some portion of 
assertPred's other capabilities should still be in Phobos, they can be reworked 
in a future proposal (though if assert doesn't get improved, then they're in 
assertPred as it is).

So, please make any last comments or suggestions on this proposal, and vote on 
whether you think that assertPred should be in Phobos (assuming that assert 
isn't going to be improved such that assertPred isn't necessary) and whether 
you 
think that assertThrown, assertNotThrown, and collectExceptionMsg should get in 
regardless of whether assertPred does.

- Jonathan M Davis