My real goal here is to make the counter accurate. Currently returning a Token from token<>() results in ref-count churn. Fixing this either means changing the return value, or improving Token (which will probably mean replacing it with RefPtr). Either way would break the current type checking. Move type tag to RefCount so this can still be enforced.
Created attachment 272235 [details]
Comment on attachment 272235 [details]
View in context: https://bugs.webkit.org/attachment.cgi?id=272235&action=review
> +inline typename RefCounter<T>::Token& RefCounter<T>::Token::operator=(const RefCounter<T>::Token& token)
I think this can be
inline auto RefCounter<T>::Token::operator=(const RefCounter<T>::Token& token) -> Token&
Transmitting file data ................
Committed revision 197132.
Speculative windows fix:
Transmitting file data ..
Committed revision 197146.