[ 
https://issues.apache.org/jira/browse/ARROW-14800?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17449253#comment-17449253
 ] 

Anders Wind commented on ARROW-14800:
-------------------------------------

Any chance of a 6.0.2 release with this?

> Compiler error on LocalFileSystem::OpenOutputStream 
> "'arrow::internal::launder': ambiguous call to overloaded function"
> -----------------------------------------------------------------------------------------------------------------------
>
>                 Key: ARROW-14800
>                 URL: https://issues.apache.org/jira/browse/ARROW-14800
>             Project: Apache Arrow
>          Issue Type: Bug
>          Components: C++
>    Affects Versions: 6.0.1
>         Environment: Windows 10, Visual Studio 2019 16.11.6
>            Reporter: Anders Wind
>            Priority: Major
>
> Hi, I'm trying to upgrade to arrow-cpp 6.0 and I have some code which 
> compiles with 5.0.0:
> {code:java}
> inline void write_table(const std::shared_ptr<arrow::Table>& table, const 
> std::string& file)
> {
>     auto arrow_fs_ = arrow::fs::LocalFileSystem();
>     std::string corrected_path = 
> value_or_throw(arrow_fs_.NormalizePath(file));
>     auto stream_opt = arrow_fs_.OpenOutputStream(corrected_path);
>     auto status = arrow::ipc::feather::WriteTable(*table, 
> value_or_throw(stream_opt).get());
>     ALCC_ARROW_STATUS_CHECK(status);
> }{code}
>  
> The following line is the root of the compile stack trace
>  
> {code:java}
> auto stream_opt = arrow_fs_.OpenOutputStream(corrected_path);{code}
>  
> It gives me the following error:
> {code:java}
>  
> C:\Users\anders.wind\Miniconda3\envs\quant_env_r20211123_1359_841f2c7e\Library\include\arrow/util/aligned_storage.h(36,1):
>  error C2668: 'arrow::internal::launder': ambiguous call to overloaded 
> function 
> [C:\Users\anders.wind\Documents\0.Projects\AlipesQuant\alcc\build\market_data\marke
> t_data.vcxproj]
> C:\Users\anders.wind\Miniconda3\envs\quant_env_r20211123_1359_841f2c7e\Library\include\arrow/util/launder.h(29,14):
>  message : could be 'T *arrow::internal::launder<T>(T *) noexcept' 
> [C:\Users\anders.wind\Documents\0.Projects\AlipesQuant\alcc\build\market_data\market_data.vcxproj]
>       
>           with
>           [
>               T=std::shared_ptr<arrow::io::OutputStream>
>           ]
> C:\Program Files (x86)\Microsoft Visual 
> Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include\new(33,27): message : 
> or       '_Ty *std::launder<T>(_Ty *) noexcept' [found using 
> argument-dependent lookup] 
> [C:\Users\anders.wind\Documents\0.Projects\AlipesQuant\alcc\build\market_data\m
>  
> arket_data.vcxproj]
>           with
>           [
>               _Ty=std::shared_ptr<arrow::io::OutputStream>,
>               T=std::shared_ptr<arrow::io::OutputStream>
>           ]
> C:\Users\anders.wind\Miniconda3\envs\quant_env_r20211123_1359_841f2c7e\Library\include\arrow/util/aligned_storage.h(36,1):
>  message : while trying to match the argument list '(T *)' 
> [C:\Users\anders.wind\Documents\0.Projects\AlipesQuant\alcc\build\market_data\market_data.vcxproj]
>        
>           with
>           [
>               T=std::shared_ptr<arrow::io::OutputStream>
>           ]
> C:\Users\anders.wind\Miniconda3\envs\quant_env_r20211123_1359_841f2c7e\Library\include\arrow/util/aligned_storage.h(36):
>  message : while compiling class template member function 'T 
> *arrow::internal::AlignedStorage<T>::get(void) noexcept' 
> [C:\Users\anders.wind\Documents\0.Projects\Alip 
> esQuant\alcc\build\market_data\market_data.vcxproj]
>           with
>           [
>               T=std::shared_ptr<arrow::io::OutputStream>
>           ]
> C:\Users\anders.wind\Miniconda3\envs\quant_env_r20211123_1359_841f2c7e\Library\include\arrow/result.h(424):
>  message : see reference to function template instantiation 'T 
> *arrow::internal::AlignedStorage<T>::get(void) noexcept' being compiled 
> [C:\Users\anders.wind\Documents\0.Projects\ 
> AlipesQuant\alcc\build\market_data\market_data.vcxproj]
>           with
>           [
>               T=std::shared_ptr<arrow::io::OutputStream>
>           ]
> C:\Users\anders.wind\Miniconda3\envs\quant_env_r20211123_1359_841f2c7e\Library\include\arrow/result.h(435):
>  message : see reference to class template instantiation 
> 'arrow::internal::AlignedStorage<T>' being compiled 
> [C:\Users\anders.wind\Documents\0.Projects\AlipesQuant\alcc\build\mar 
> ket_data\market_data.vcxproj]
>           with
>           [
>               T=std::shared_ptr<arrow::io::OutputStream>
>           ]
> C:\Users\anders.wind\Documents\0.Projects\AlipesQuant\alcc\astl\include\astl/arrow_helpers.h(86):
>  message : see reference to class template instantiation 
> 'arrow::Result<std::shared_ptr<arrow::io::OutputStream>>' being compiled 
> [C:\Users\anders.wind\Documents\0.Projects\AlipesQuant\alc 
> c\build\market_data\market_data.vcxproj]
> C:\Users\anders.wind\Miniconda3\envs\quant_env_r20211123_1359_841f2c7e\Library\include\arrow/util/aligned_storage.h(36,1):
>  error C2668: 'arrow::internal::launder': ambiguous call to overloaded 
> function 
> [C:\Users\anders.wind\Documents\0.Projects\AlipesQuant\alcc\build\simulation\simula
> te.vcxproj]
> C:\Users\anders.wind\Miniconda3\envs\quant_env_r20211123_1359_841f2c7e\Library\include\arrow/util/launder.h(29,14):
>  message : could be 'T *arrow::internal::launder<T>(T *) noexcept' 
> [C:\Users\anders.wind\Documents\0.Projects\AlipesQuant\alcc\build\simulation\simulate.vcxproj]
>           with
>           [
>               T=std::shared_ptr<arrow::io::OutputStream>
>           ]
> C:\Program Files (x86)\Microsoft Visual 
> Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include\new(33,27): message : 
> or       '_Ty *std::launder<T>(_Ty *) noexcept' [found using 
> argument-dependent lookup] 
> [C:\Users\anders.wind\Documents\0.Projects\AlipesQuant\alcc\build\simulation\si
>  
> mulate.vcxproj]
>           with
>           [
>               _Ty=std::shared_ptr<arrow::io::OutputStream>,
>               T=std::shared_ptr<arrow::io::OutputStream>
>           ]
> C:\Users\anders.wind\Miniconda3\envs\quant_env_r20211123_1359_841f2c7e\Library\include\arrow/util/aligned_storage.h(36,1):
>  message : while trying to match the argument list '(T *)' 
> [C:\Users\anders.wind\Documents\0.Projects\AlipesQuant\alcc\build\simulation\simulate.vcxproj]
>           with
>           [
>               T=std::shared_ptr<arrow::io::OutputStream>
>           ]
> C:\Users\anders.wind\Miniconda3\envs\quant_env_r20211123_1359_841f2c7e\Library\include\arrow/util/aligned_storage.h(36):
>  message : while compiling class template member function 'T 
> *arrow::internal::AlignedStorage<T>::get(void) noexcept' 
> [C:\Users\anders.wind\Documents\0.Projects\Alip 
> esQuant\alcc\build\simulation\simulate.vcxproj]
>           with
>           [
>               T=std::shared_ptr<arrow::io::OutputStream>
>           ]
> C:\Users\anders.wind\Miniconda3\envs\quant_env_r20211123_1359_841f2c7e\Library\include\arrow/result.h(424):
>  message : see reference to function template instantiation 'T 
> *arrow::internal::AlignedStorage<T>::get(void) noexcept' being compiled 
> [C:\Users\anders.wind\Documents\0.Projects\ 
> AlipesQuant\alcc\build\simulation\simulate.vcxproj]
>           with
>           [
>               T=std::shared_ptr<arrow::io::OutputStream>
>           ]
> C:\Users\anders.wind\Miniconda3\envs\quant_env_r20211123_1359_841f2c7e\Library\include\arrow/result.h(435):
>  message : see reference to class template instantiation 
> 'arrow::internal::AlignedStorage<T>' being compiled 
> [C:\Users\anders.wind\Documents\0.Projects\AlipesQuant\alcc\build\sim 
> ulation\simulate.vcxproj]
>           with
>           [
>               T=std::shared_ptr<arrow::io::OutputStream>
>           ]
> C:\Users\anders.wind\Documents\0.Projects\AlipesQuant\alcc\astl\include\astl/arrow_helpers.h(86):
>  message : see reference to class template instantiation 
> 'arrow::Result<std::shared_ptr<arrow::io::OutputStream>>' being compiled 
> [C:\Users\anders.wind\Documents\0.Projects\AlipesQuant\alc 
> c\build\simulation\simulate.vcxproj]
> {code}
> {{I compile with c++17 flags}}



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to