Don't 'inline' public functions to avoid ABI breakage.
Review Request #129032 - Created Sept. 26, 2016 and submitted
| Information | |
|---|---|
| José Manuel Santamaría Lema | |
| kio | |
| Reviewers | |
| kdeframeworks | |
| dfaure | |
Don't 'inline' public functions to avoid ABI breakage.
When packaging kio for kubuntu we realized there was a couple of missing symbols which are a couple of deprecated functions, these functions were "inlined" (without using the 'inline' keyword).
This is the offending commit:
https://quickgit.kde.org/?p=kio.git&a=commitdiff&h=b36d368f8004d949597fbe9dc83d6b70418c22f8From the binary compatibility page "Do's and Don'ts":
https://community.kde.org/Policies/Binary_Compatibility_Issues_With_C%2B%2B#The_Do.27s_and_Don.27ts
You cannot...
[...]
For existing functions of any type:
[...]
inline it (this includes moving a member function's body to the class definition, even without the inline keyword).The proposed patch moves the functions implementation from the .h file to the .cpp file so this way the binary compatibility is kept.
Testing Done: |
|
|---|
+1 makes sense
Ship It!
