> On Jul 28, 2017, at 10:57 AM, Brady Eidson <beid...@apple.com> wrote: > >> >> On Jul 28, 2017, at 10:29 AM, Sam Weinig <wei...@apple.com >> <mailto:wei...@apple.com>> wrote: >> >> For some generic programming, this form can be dramatically shorter: >> >> e.g. >> >> template<typename KeyArg, typename MappedArg, typename HashArg, typename >> KeyTraitsArg, typename MappedTraitsArg> >> template<typename K, typename V> >> ALWAYS_INLINE auto HashMap<KeyArg, MappedArg, HashArg, KeyTraitsArg, >> MappedTraitsArg>::inlineAdd(K&& key, V&& value) -> AddResult >> { >> return m_impl.template add<HashMapTranslator<KeyValuePairTraits, >> HashFunctions>>(std::forward<K>(key), std::forward<V>(value)); >> } >> >> vs. >> >> template<typename KeyArg, typename MappedArg, typename HashArg, typename >> KeyTraitsArg, typename MappedTraitsArg> >> template<typename K, typename V> >> ALWAYS_INLINE typename HashMap<KeyArg, MappedArg, HashArg, KeyTraitsArg, >> MappedTraitsArg>::AddResult HashMap<KeyArg, MappedArg, HashArg, >> KeyTraitsArg, MappedTraitsArg>::inlineAdd(K&& key, V&& value) >> { >> return m_impl.template add<HashMapTranslator<KeyValuePairTraits, >> HashFunctions>>(std::forward<K>(key), std::forward<V>(value)); >> } > > In this example, yes it is notably shorter. > > But neither of these definitions are remotely readable without puttin' on > your thinkin' cap. > >> It is also the only format available for lambdas, so people are probably >> getting used to it. > > Lambdas don't have the problem of prepare-ChangeLog completely missing edits > to a member function > >> Not sure it’s worth it to avoid it. > > My request was to be aware of this while prepare-ChangeLog was broken for > this case. > Seems like that's almost fixed. :)
Oh ok. I thought you were proposing a ban. - Sam > > ~Brady > >> >> - Sam >> >>> On Jul 27, 2017, at 11:06 PM, Brady Eidson <beid...@apple.com >>> <mailto:beid...@apple.com>> wrote: >>> >>> I just noticed this tonight. When a change is made to one of these >>> functions, prepare-ChangeLog doesn't log the functions that changed. >>> >>> I have a question and a request. >>> >>> Question: >>> >>> The functions in question where I noticed this: >>> auto WebURLSchemeTask::didComplete(const ResourceError& error) -> >>> ExceptionType >>> >>> Would normally be written as: >>> WebURLSchemeTask::ExceptionType WebURLSchemeTask::didComplete(const >>> ResourceError& error) >>> >>> Is there some actual value to using this syntax other than… being >>> syntactically different, and being just a little shorter? >>> >>> Request: >>> >>> Until we fix prepare-ChangeLog, and unless there is some great advantage to >>> this syntax that I'm not aware of… it's hold off on using it more. >>> >>> Thanks, >>> ~Brady >>> _______________________________________________ >>> webkit-dev mailing list >>> webkit-dev@lists.webkit.org <mailto:webkit-dev@lists.webkit.org> >>> https://lists.webkit.org/mailman/listinfo/webkit-dev >>> <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