Opened 13 years ago
Closed 13 years ago
#444 closed defect (fixed)
Strange bug in ListPath<>
| Reported by: | Alpar Juttner | Owned by: | Alpar Juttner |
|---|---|---|---|
| Priority: | blocker | Milestone: | LEMON 1.3 release |
| Component: | core | Version: | hg main |
| Keywords: | Cc: | ||
| Revision id: | 38e1d4383262 |
Description (last modified by )
Valgrind report an error on the following code:
ListPath<ListDigraph> p,q;
p.addBack(a);
q=p;
The problem seems to be that q=p tries to copy bitwise instead of using the template ListPath<>::operator=() implementation.
Implementing a non-template version solves the problem, but I don't understand why the template version is used.
I fear that this issue may affect other Path structures, or even other tools, too.
Change History (2)
comment:1 Changed 13 years ago by
| Description: | modified (diff) |
|---|
comment:2 Changed 13 years ago by
| Resolution: | → fixed |
|---|---|
| Status: | new → closed |
Note: See
TracTickets for help on using
tickets.


The issue has been fixed in [7440937d154b] and merged to all relevant branches (1.1,1.2,default).
The reason for the problem is the usual utmost stupidity of C++ - the default copy constructor is of higher priority than an explicitly defined template one.