Re: PSA: C++ virtual function declarations should specify only one of virtual, final, or override

2018-02-16 Thread Chris Peterson
On 2018-02-16 12:54 PM, Ben Kelly wrote: Are we supposed to just use override or final on methods that are overriden when the class itself is marked final? Personally writing final again seems redundant with the class level final and the override keyword seems more informative. You could use

Re: PSA: C++ virtual function declarations should specify only one of virtual, final, or override

2018-02-16 Thread Chris Peterson
On 2018-02-16 1:07 PM, L. David Baron wrote: virtual void Bad1() final I think there might be some legitimate use cases for this one, when a function needs to be virtual because it's required for the calling convention (as part of a binary plugin API or binary embedding API, for example),

Re: PSA: C++ virtual function declarations should specify only one of virtual, final, or override

2018-02-16 Thread L. David Baron
On Friday 2018-02-16 12:36 -0800, Chris Peterson wrote: > Mozilla's C++ style guide [1] says (since 2015) virtual function > declarations should specify only one of `virtual`, `final`, or `override`. > > Over the weekend, I will land a mach lint check (bug 1436263) that will warn > about some

Re: PSA: C++ virtual function declarations should specify only one of virtual, final, or override

2018-02-16 Thread Ben Kelly
Are we supposed to just use override or final on methods that are overriden when the class itself is marked final? Personally writing final again seems redundant with the class level final and the override keyword seems more informative. On Fri, Feb 16, 2018 at 3:36 PM, Chris Peterson

PSA: C++ virtual function declarations should specify only one of virtual, final, or override

2018-02-16 Thread Chris Peterson
Mozilla's C++ style guide [1] says (since 2015) virtual function declarations should specify only one of `virtual`, `final`, or `override`. Over the weekend, I will land a mach lint check (bug 1436263) that will warn about some virtual style violations such as: virtual void Bad1() final