> On Jul 28, 2017, at 10:29 AM, Sam Weinig <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. :) ~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 >
_______________________________________________ webkit-dev mailing list webkit-dev@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-dev