From: Marshall Clow Date: Thu, 11 May 2017 14:00:54 +0000 (+0000) Subject: Replace a nested namespace used for overload resolution with a struct. Richard Smith... X-Git-Tag: llvmorg-5.0.0-rc1~5330 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=7e154cdca71d694388e7773638243245b7450b81;p=platform%2Fupstream%2Fllvm.git Replace a nested namespace used for overload resolution with a struct. Richard Smith says that using the namespace results in an ODR violation, but I disagree. Nevertheless, the struct works just as well. llvm-svn: 302800 --- diff --git a/libcxx/include/memory b/libcxx/include/memory index bb1b415..4201c92 100644 --- a/libcxx/include/memory +++ b/libcxx/include/memory @@ -996,11 +996,11 @@ struct __rebind_pointer { // allocator_traits -namespace __has_pointer_type_imp +struct __has_pointer_type_imp { template static __two __test(...); template static char __test(typename _Up::pointer* = 0); -} +}; template struct __has_pointer_type