Andreas Färber <afaer...@suse.de> writes: > Am 31.05.2012 13:17, schrieb Igor Mammedov: >> On 05/31/2012 12:16 PM, Paolo Bonzini wrote: >>> Il 31/05/2012 10:30, Markus Armbruster ha scritto: >>>>>> Makes much sense, but maybe it should be done in OBJECT() cast? Assert >>>>>> when we do OBJECT(NULL). >>>> In my opinion, OBJECT(p) where p is a null pointer is perfectly valid >>>> and should yield a null pointer. >>> >>> Perhaps object_dynamic_cast and object_dynamic_cast_assert should do the >>> same? >>> >> >> or better object_dynamic_cast should return NULL if obj is NULL, >> after all it's expected that it may return NULL > > That's what I was suggesting: I think that we should define "NULL is not > of type TYPE_FOO" and thus have the ..._is_... functions return false, > and have the ..._cast_assert assert.
Is it? Igor: object_dynamic_cast should return NULL if obj is NULL, You: have the ..._cast_assert assert [on null argument, I presume] Doesn't sound like the same suggestion to me :) If I understood you correctly: what do such assertions buy us other than silliness like p ? some_cast(p) : NULL ? > So I still think this patch is correct. It could be accompanied by > further patches adding error handling in the remaining functions. I'm not convinced.