Author
anonymous
over 6 years ago
Language
C++
Compiler
clang 7.0.0
Options
Warnings
Boost 1.68.0
C++17
no pedantic
Author
anonymous
over 6 years ago
$ clang++ prog.cc -Wall -Wextra -I/opt/wandbox/boost-1.68.0/clang-7.0.0/include -std=c++17
prog.cc:15:10: error: no viable conversion from 'typename remove_reference<unique_ptr<derived, default_delete<derived> > &>::type' (aka 'std::__1::unique_ptr<derived, std::__1::default_delete<derived> >') to 'test'
test t = std::move(pd); // this doesn't
^ ~~~~~~~~~~~~~
prog.cc:6:8: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'typename remove_reference<unique_ptr<derived, default_delete<derived> > &>::type' (aka 'std::__1::unique_ptr<derived, std::__1::default_delete<derived> >') to 'const test &' for 1st argument
struct test
^
prog.cc:6:8: note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'typename remove_reference<unique_ptr<derived, default_delete<derived> > &>::type' (aka 'std::__1::unique_ptr<derived, std::__1::default_delete<derived> >') to 'test &&' for 1st argument
struct test
^
prog.cc:8:5: note: candidate constructor not viable: no known conversion from 'unique_ptr<derived, default_delete<derived>>' to 'unique_ptr<base, default_delete<base>>' for 1st argument
test(std::unique_ptr<base>){}
^
1 error generated.
Exit Code:
1