On 1 January 2013 20:40, Lawrence Crowl wrote:
>
> That was pilot error on my part.  However, I've been having trouble
> when the argument to the constructor or reset has a conversion
> operator.  The code does distinquish between a safe conversion to
> base and an unsafe conversion to derived.
>
> Here is a simplified version of the problem.  The code as is fails
> to reject the last two calls to accept.  The primary reason is that
> is_convertable permits both the invocation of the conversion operator
> and the derived to base conversion.  At present, I see no way to
> get a handle on the 'natural' return type of the conversion operator.

Is the issue here that Geoffrey's proposed resolution allows any
conversions (safe or not) if the source type is not a built-in
pointer, i.e. is some user-defined type?  So a user-defined type that
refers an array of derived classes is allowed to be converted to an
array of base, even though that's not safe.  Howard has strongly
objected to this part of the P/R.

Reply via email to