On Friday, January 20, 2017 at 10:13:54 AM UTC+11, Nicholas Nethercote wrote: > On Fri, Jan 20, 2017 at 10:01 AM, <gsqu...@mozilla.com> wrote: > > > And the next step would be to make must-use the default, and have > > MOZ_CAN_IGNORE for the rest. ;-) > > > > I actually tried this with all XPIDL methods. After adding several hundred > "Unused <<" annotations for calls that legitimately didn't need to check > the return value -- and I was only a fraction of the way through the > codebase -- I decided that a big bang approach wasn't going to work. So I > then implemented [must_use] as an incremental alternative. > > Nick
I guess my slightly-tongue-in-cheek suggestion was to reverse MOZ_MUST_USE. So in cases where a return value from a function can be ignored, instead of adding "Unused <<" at all the call sites, you'd add MOZ_CAN_IGNORE in front of the function declaration. Or possibly MOZ_CAN_IGNORE_TYPE if more appropriate. Of course I'm sure it would still take a lot of work! Maybe there could be a slow hybrid approach: - Start with Eric's suggestion to make a directory MOZ_MUST_USE'able. - Add "Unused <<" for isolated failures, or add MOZ_CAN_IGNORE[_TYPE] for larger failures. - Gradually "infect" more directories. - Once it's everywhere, make MOZ_MUST_USE the default, and remove the above scaffolding. - Profit! Gerald _______________________________________________ dev-platform mailing list dev-platform@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-platform