[Kde-pim] Review Request 110777: Correctly expose that ResourceState is a friend class.

Raphael Kubo da Costa rakuco at FreeBSD.org
Sun Jun 2 00:47:46 BST 2013


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/110777/
-----------------------------------------------------------

Review request for KDEPIM-Libraries.


Description
-------

Correctly expose that ResourceState is a friend class.

ResourceState is a class that lives in kdepim-runtime and is outside the
Akonadi namespace.

clang < 3.3 and all versions of GCC erroneously consider the friend
declaration in

  namespace N {
    class C {
      friend class A;
    };
  }

  class A {
  };

to refer to the class A outside namespace N (technically speaking, this is
item 3 of section 7.3.1.2 of the C++ standard). clang 3.3 fixes this
behavior and makes the build of kdepim-runtime fail.

Fix it by explicitly referring to ::ResourceState in the friend declaration.

Alternatively, we could remove the friend declaration and make ResourceState::collectionsRetrieved use ImapResource::Append instead of Akonadi::ResourceBase::Append (since ImapResource also declares ResourceState as a friend).


Diffs
-----

  akonadi/resourcebase.h 0c414f57befdf33ded7207b7e88943163b341424 

Diff: http://git.reviewboard.kde.org/r/110777/diff/


Testing
-------

kdepim-runtime builds fine with clang 3.3.


Thanks,

Raphael Kubo da Costa

_______________________________________________
KDE PIM mailing list kde-pim at kde.org
https://mail.kde.org/mailman/listinfo/kde-pim
KDE PIM home page at http://pim.kde.org/



More information about the kde-pim mailing list