Fake std::move() doesn't always work under g++ 4.6.x
Bug #886543 reported by
Paul J. Lucas
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Zorba |
Fix Released
|
Medium
|
Paul J. Lucas |
Bug Description
Under g++ 4.6.x, the fake std::move() doesn't work when converting a T& to an rv<T>& -- though it's not clear to me why not.
Related branches
lp:~paul-lucas/zorba/bug-886543
- Matthias Brantner: Approve
- Paul J. Lucas: Approve
-
Diff: 41 lines (+5/-3)2 files modifiedinclude/zorba/internal/type_traits.h (+3/-1)
include/zorba/internal/unique_ptr.h (+2/-2)
Changed in zorba: | |
status: | New → Fix Committed |
milestone: | none → 2.1 |
Changed in zorba: | |
status: | Fix Committed → Fix Released |
Changed in zorba: | |
status: | Fix Released → Fix Committed |
Changed in zorba: | |
status: | Fix Committed → Fix Released |
To post a comment you must log in.
A hack fix is to make it move(T const&) and insert a const_cast. This is ugly because it shouldn't move a const T, but since this is a fake move() anyway, it probably doesn't matter.