<div dir="auto"><div><br><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Dmitri Gribenko <<a href="mailto:gribozavr@gmail.com">gribozavr@gmail.com</a>> ezt írta (időpont: 2019. ápr. 15., H 16:02):<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Mon, Apr 15, 2019 at 2:26 PM Gábor Horváth <<a href="mailto:xazax.hun@gmail.com" target="_blank" rel="noreferrer">xazax.hun@gmail.com</a>> wrote:<br>
><br>
> Thank you for summarizing the discussion and raising all these points.<br>
> Based on your response I propose the following plan moving forward:<br>
><br>
> * Start submitting patches regarding the non-controversial parts of the analysis, including:<br>
>   - Adding the annotations to Clang<br>
>   - Generalize existing statement-local warnings<br>
>     - Technical question here: should we expect the STL vendors to annotate the types, should we hard-code the annotations into the compiler, or should we actually implement type inference but restrict it to STL types?<br>
>   - Adding some extra statement-local warnings<br>
>   - Adding the flow sensitive analysis<br>
><br>
> Can we add you as a reviewer to those patches?<br>
<br>
Happy to help :)<br>
<br>
> To start the discussions regarding the type category inference, as far as I understand you are more worried about the false negatives that can give a bad impression about the analysis rather than the false positives.<br>
<br>
I would say my concerns are around the understandability of the<br>
system, more so than the false negatives of inference.<br>
<br>
> One idea we had is to have a refactoring that will automatically annotate the user defined types based on the inference we have. This could give the users a way to understand the root causes of such false negatives.<br>
> In case the community will not want automatic type category inference in the compiler we are still likely to implement it as a Tidy check with a refactoring to make it easier for users to adopt this analysis.<br>
<br>
That'd be helpful, however, relying purely on such analysis is not<br>
much better than inference.  Users should annotate types that conform<br>
to type categories.  We should also figure out a way to learn if it is<br>
common for users to have types that are in spirit conforming to type<br>
categories, but don't conform syntactically (e.g., have named methods<br>
instead of overloaded operators).  If those are important, we would<br>
need to build corresponding annotations.<br></blockquote></div></div><div dir="auto"><br></div><div dir="auto">Great! So let's move on with upstreaming the non-controversial parts and return to discussing the inference problem once we have more experience from users and other data. </div><div dir="auto"><br></div><div dir="auto">Thanks,</div><div dir="auto">Gábor</div><div dir="auto"><br></div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Dmitri<br>
<br>
--<br>
main(i,j){for(i=2;;i++){for(j=2;j<i;j++){if(!(i%j)){j=0;break;}}if<br>
(j){printf("%d\n",i);}}} /*Dmitri Gribenko <<a href="mailto:gribozavr@gmail.com" target="_blank" rel="noreferrer">gribozavr@gmail.com</a>>*/<br>
</blockquote></div></div></div>