yaxunl added a comment.

This caused regression in Thrust:

  
/long_pathname_so_that_rpms_can_package_the_debug_info/data/driver/rocThrust/thrust/../thrust/detail/type_traits/pointer_traits.h:178:20:
 error: ambiguous partial specializations of 
'pointer_element<thrust::pointer<void, thrust::detail::seq_t>>'
    typedef typename pointer_element<Ptr>::type    element_type;
                     ^
  
/long_pathname_so_that_rpms_can_package_the_debug_info/data/driver/rocThrust/thrust/../thrust/detail/raw_pointer_cast.h:27:26:
 note: in instantiation of template class 
'thrust::detail::pointer_traits<thrust::pointer<void, thrust::detail::seq_t>>' 
requested here
  typename thrust::detail::pointer_traits<Pointer>::raw_pointer
                           ^
  
/long_pathname_so_that_rpms_can_package_the_debug_info/data/driver/rocThrust/thrust/../thrust/system/hip/detail/malloc_and_free.h:79:18:
 note: while substituting deduced template arguments into function template 
'raw_pointer_cast' [with Pointer = thrust::pointer<void, thrust::detail::seq_t>]
          result = thrust::raw_pointer_cast(thrust::malloc(thrust::seq, n));
                   ^
  
/long_pathname_so_that_rpms_can_package_the_debug_info/data/driver/rocThrust/thrust/../thrust/detail/type_traits/pointer_traits.h:40:10:
 note: partial specialization matches [with Ptr = thrust::pointer, Arg1 = void, 
Arg2 = thrust::detail::seq_t]
    struct pointer_element<Ptr<Arg1,Arg2> >
           ^
  
/long_pathname_so_that_rpms_can_package_the_debug_info/data/driver/rocThrust/thrust/../thrust/detail/type_traits/pointer_traits.h:46:10:
 note: partial specialization matches [with Ptr = thrust::pointer, Arg1 = void, 
Arg2 = thrust::detail::seq_t, Arg3 = thrust::use_default]
    struct pointer_element<Ptr<Arg1,Arg2,Arg3> >
           ^
  
/long_pathname_so_that_rpms_can_package_the_debug_info/data/driver/rocThrust/thrust/../thrust/detail/type_traits/pointer_traits.h:52:10:
 note: partial specialization matches [with Ptr = thrust::pointer, Arg1 = void, 
Arg2 = thrust::detail::seq_t, Arg3 = thrust::use_default, Arg4 = 
thrust::use_default]
    struct pointer_element<Ptr<Arg1,Arg2,Arg3,Arg4> >

This seems to match the removed documentation about "The change to the standard 
lacks a corresponding change for template partial ordering, resulting in 
ambiguity errors for reasonable and previously-valid code. This issue is 
expected to be rectified soon." However, since it was removed, does that mean 
there will be no changes for template partial ordering?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D109496/new/

https://reviews.llvm.org/D109496

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to