Mantis Bug Tracker Workflow

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0025620Open CASCADE[OCCT] OCCT:Codingpublic2014-12-16 17:552019-07-10 19:27
Assigned To 
PlatformOSOS Version
Product Version[OCCT] 6.7.0 
Target Version[OCCT] 7.5.0*Fixed in Version 
Summary0025620: CAST analysis: Avoid public or missing copy assignment operator in abstract classes
DescriptionThe copy assignment operator lets you create a new object from an existing object through initialization. A copy assignment operator of a class A is a non-static, non-template member function that has one of the following forms:

    * A::operator=(A)
    * A::operator=(A&)
    * A::operator=(const A&)
    * A::operator=(volatile A&)
    * A::operator=(const volatile A&)

If you do not declare a copy assignment operator for a class A, the compiler will implicitly declare one for you which will be inline public.

Assignment operators using pointers are also taken into account:

    * A::operator=(A*)
    * A::operator=(const A*)
    * A::operator=(volatile A*)
    * A::operator=(const volatile A*)

By ensuring that the copy assignment operator is protected, it can only be, and should only be, called by the assignment operator of the derived class.
Additional information
and documentation updates
It is necessary to move assignment operator in protected section in Standard_Transient class.

More details: CAST report, issue 7926
TagsNo tags attached.
Test case number
Attached Files

- Relationships

-  Notes
There are no notes attached to this issue.

- Issue History
Date Modified Username Field Change
2014-12-16 17:55 azn New Issue
2014-12-16 17:55 azn Assigned To => azn
2015-04-21 06:08 abv Target Version 6.9.0 => 7.1.0
2016-11-01 06:41 abv Target Version 7.1.0 => 7.2.0
2017-07-20 12:26 kgv Assigned To azn =>
2017-07-20 12:26 kgv Target Version 7.2.0 => 7.4.0
2019-07-10 19:27 abv Target Version 7.4.0 => 7.5.0*

Copyright © 2000 - 2019 MantisBT Team
Powered by Mantis Bugtracker