Oipo commented on a change in pull request #293:
URL: https://github.com/apache/celix/pull/293#discussion_r526362641



##########
File path: libs/framework/include/celix/dm/Component_Impl.h
##########
@@ -63,7 +88,7 @@ Component<T>& Component<T>::addInterfaceWithName(const 
std::string &serviceName,
 
 template<class T>
 template<class I>
-Component<T>& Component<T>::addInterface(const std::string &version, const 
Properties &properties) {
+inline Component<T>& Component<T>::addInterface(const std::string &version, 
const Properties &properties) {

Review comment:
       In short: 
   1) please remove inline from all templated functions.
   2) two options
     a) keep inline for the non-templated functions, solves the double 
implementation issue.
     b) create a DependencyManager_Impl.cc and move the non-templated function 
implementations there, have the impl header only contain templated functions. 
Faster compilation times and no confusing inline anywhere.




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to