> 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

Reply via email to