Re: [webkit-dev] Style guideline on initializing non-POD types via member initialization

2019-03-14 Thread Filip Pizlo
I like to draw this distinction: is the initializer a constant?

It’s not a constant if it relies on arguments to the constructor. “This” is an 
argument to the constructor. 

It’s also not a constant if it involves reading the heap. 

So, like you, I would want to see this code done in the constructor. But I’m 
not sure that my general rule is the same as everyone’s. 

-Filip

> On Mar 14, 2019, at 12:59 PM, Simon Fraser  wrote:
> 
> I've seen some code recently that initializes non-POD members via 
> initializers. For example, SVGAElement has:
> 
>AttributeOwnerProxy m_attributeOwnerProxy { *this };
> 
> I find this a little disorientating, and would normally expect to see this in 
> the constructor as m_attributeOwnerProxy(*this), as it makes it easier to 
> find places to set breakpoints, and the ordering of initialization is easier 
> to see.
> 
> Are people OK with this pattern, or should we discourage it via the style 
> guidelines (and style checker)?
> 
> Simon
> 
> ___
> webkit-dev mailing list
> webkit-dev@lists.webkit.org
> https://lists.webkit.org/mailman/listinfo/webkit-dev
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-dev


[webkit-dev] Style guideline on initializing non-POD types via member initialization

2019-03-14 Thread Simon Fraser
I've seen some code recently that initializes non-POD members via initializers. 
For example, SVGAElement has:

AttributeOwnerProxy m_attributeOwnerProxy { *this };

I find this a little disorientating, and would normally expect to see this in 
the constructor as m_attributeOwnerProxy(*this), as it makes it easier to find 
places to set breakpoints, and the ordering of initialization is easier to see.

Are people OK with this pattern, or should we discourage it via the style 
guidelines (and style checker)?

Simon

___
webkit-dev mailing list
webkit-dev@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-dev