Subject: Re: [boost] Unittest capability for meta-programs feedback request
From: Ben Robinson (icaretaker_at_[hidden])
Date: 2011-09-29 02:46:26
On Wed, Sep 28, 2011 at 7:22 AM, Steven Watanabe <watanabesj_at_[hidden]>wrote:
> Unfortunately, this changes the behavior of
> the library. is_convertible<Q1, Q2> will return
> true if the units are unrelated. It can also
> change the result of overload resolution.
> Well I certainly don't want to break the library! It was not a wise choice
to change the implementation of a published library, to demonstrate the use
of METATEST. I will work on other examples in published libraries over the
weekend. I did however, hopefully at least demonstrate the idea, that
should a complex library contain a METATEST, it could be successfully unit
tested to prove the assertion is true, and false, when expected to be.
As far as is_convertible goes, the following unit test is failing using a
completely unmodified boost distribution:
bool result = is_convertible<length, energy>::value;
Since length and energy are incompatible units, shouldn't is_convertible
fail? I could certainly learn much more about both is_convertible and
As far as units::quantity goes, I think that overload resolution could
possibly be managed inside the added conversion constructor, with a
meta-function testing if the rhs_type would have been implicitly convertible
to this_type, and to METATEST on that condition. I am curious of your
opinion on this, since you certainly know more about this library than I.
Ben Robinson, Ph.D.
> Steven Watanabe
> Unsubscribe & other changes:
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk