Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build failures for Windows on Jenkins #17496

Closed
ghost opened this issue Jul 2, 2016 · 6 comments

Comments

Projects
None yet
3 participants
@ghost
Copy link

commented Jul 2, 2016

Since build 5178.

In file included from src/player.h:5:0,
                 from src/player.cpp:1:
src/copyable_unique_ptr.h:11:9: error: unused parameter 'rhs' [-Werror=unused-parameter]
         copyable_unique_ptr( copyable_unique_ptr &&rhs ) = default;
         ^
In file included from src/player.cpp:1:0:
src/player.h: In constructor 'player::player(player&&)':
src/player.h:139:7: note: synthesized method 'copyable_unique_ptr<T>::copyable_unique_ptr(copyable_unique_ptr<T>&&) [with T = craft_command]' first required here 
 class player : public Character, public JsonSerializer, public JsonDeserializer
       ^
src/player.cpp: At global scope:
src/player.cpp:294:29: note: synthesized method 'player::player(player&&)' first required here 
 player::player(player &&) = default;
                             ^
@mugling

This comment has been minimized.

Copy link
Contributor

commented Jul 2, 2016

Likely fallout from #17434

@kevingranade

This comment has been minimized.

Copy link
Member

commented Jul 3, 2016

What exactly is the point of a "copyable_unique_ptr"? AFAICT it provides functionality explicitly rejected by the C++ standards committee by the removal of auto_ptr because it was a very error prone way of managing memory.
If you need a unique_ptr in a class that needs to by copyable, you need to resolve that in your copy constructor (yes that means you can't have an implicit copy constructor any more).

@BevapDin

This comment has been minimized.

Copy link
Contributor

commented Jul 3, 2016

(yes that means you can't have an implicit copy constructor any more)

And that's where the trouble starts. Who wants to write a copy constructor of player? And who wants to keep it up to date? I remember at least one bug that was caused by not copying a member in the (formerly explicit) copy constructor.

Maybe copyable_unique_ptr is unfortunately named. It is supposed to be a Pimpl wrapper that provides value semantic (copy the referred object, not just the pointer). It's basically used to avoiding including the header for the wrapped type.

@kevingranade

This comment has been minimized.

Copy link
Member

commented Jul 3, 2016

@ghost

This comment has been minimized.

Copy link
Author

commented Jul 4, 2016

Now Windows curses passes the build but tiles is still failing.

Fixed in 5194.

@ghost

This comment has been minimized.

Copy link
Author

commented Jul 4, 2016

Sad, ERR_CONNECTION_RESET to ci.narc.ro.

@ghost ghost closed this Jul 4, 2016

This issue was closed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.