title: Has Vala memory leak when building shared library?
body: <p>Will this Vala code memory leak when it built as shared library (.so)?</p>
  
  <p>Vala:</p>
  
  <pre><code>namespace test {
      public static string info(string name){
          return "Hello " + name;
      }
  }
  </code></pre>
  
  <p>Source code (<code>valac -C</code>)</p>
  
  <pre><code>gchar* test_info (const gchar* name) {
      gchar* result = NULL;
      const gchar* _tmp0_ = NULL;
      gchar* _tmp1_ = NULL;
      g_return_val_if_fail (name != NULL, NULL);
      _tmp0_ = name;
      _tmp1_ = g_strconcat ("Hello ", _tmp0_, NULL);
      result = _tmp1_;
      return result;
  }
  </code></pre>
  
  <p>Compilation: <code>valac --library=test  -H test.h "test.vala" -X -fPIC -X -shared -o test.so</code></p>
  
  <p>I am surprised by no memory deallocation in <code>test_info</code>.</p>
  
  <ul>
  <li>Will <code>g_strconcat</code> store allocated memory in global variable (possible thread-local)?</li>
  <li>Will be memory leak if I call <code>test_info</code> from external programm miltiple times without deallocation?</li>
  </ul>
  
  <p>I am sorry about this possible simple question, but I am new in Vala (my primary experience in area of Go, Python, C++ and etc)</p>