[mlir][acc] Introduce MappableType interface (#122146)
[llvm-project.git] / clang-tools-extra / docs / clang-tidy / checks / fuchsia / multiple-inheritance.rst
blob2f6ed18e820288b923df148a1e1d2cef1f67df1b
1 .. title:: clang-tidy - fuchsia-multiple-inheritance
3 fuchsia-multiple-inheritance
4 ============================
6 Warns if a class inherits from multiple classes that are not pure virtual.
8 For example, declaring a class that inherits from multiple concrete classes is
9 disallowed:
11 .. code-block:: c++
13   class Base_A {
14   public:
15     virtual int foo() { return 0; }
16   };
18   class Base_B {
19   public:
20     virtual int bar() { return 0; }
21   };
23   // Warning
24   class Bad_Child1 : public Base_A, Base_B {};
26 A class that inherits from a pure virtual is allowed:
28 .. code-block:: c++
30   class Interface_A {
31   public:
32     virtual int foo() = 0;
33   };
35   class Interface_B {
36   public:
37     virtual int bar() = 0;
38   };
40   // No warning
41   class Good_Child1 : public Interface_A, Interface_B {
42     virtual int foo() override { return 0; }
43     virtual int bar() override { return 0; }
44   };
46 See the features disallowed in Fuchsia at https://fuchsia.dev/fuchsia-src/development/languages/c-cpp/cxx?hl=en