title: same symbol in different lib not redefine when linked to the same binary?
body: <h3>Lib1.a:</h3>
  
  <pre><code>#include&lt;stdio.h&gt;
  #include&lt;stdlib.h&gt;
  class Lib
  {
  public:
  inline static const void Test()
  {
  printf("this is lib1\n");
  };
  void Lib1Test()
  {
  Lib::Test();
  }
  };
  </code></pre>
  
  <h3>Lib2.a:</h3>
  
  <pre><code>#include&lt;stdio.h&gt;
  #include&lt;stdlib.h&gt;
  class Lib
  {
  public:
  inline static const int Test()
  {
  printf("this is lib2\n");
  };
  void Lib2Test()
  {
  Lib::Test(); // this will call the Test in Lib1,amazing!
  }
  };
  </code></pre>
  
  <p>lib1.a and lib2.a will be linked to test together.</p>
  
  <p>What's the reason? Did not Lib::Test redefine?</p>