<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="  {(char*)&quot;stride&quot;, (getter)getTupleAttr&lt;ConvForward, std::vector&lt;int&gt;, ConvParams,
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
torch/csrc/autograd/functions/init.cpp:82:11: note: candidate template ignored: invalid explicitly-specified argument for template parameter 'Convert'
PyObject* getTupleAttr(PyObject* obj, void* _unused)
          ^
torch/csrc/autograd/functions/init.cpp:180:30: error: address of overloaded function 'getTupleAttr' does not match required type '_object *(_object *, void *)'
  {(char*)&quot;padding&quot;, (getter)getTupleAttr&lt;ConvForward, std::vector&lt;int&gt;, ConvParams,
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
torch/csrc/autograd/functions/init.cpp:82:11: note: candidate template ignored: invalid explicitly-specified argument for template parameter 'Convert'
PyObject* getTupleAttr(PyObject* obj, void* _unused)
          ^
torch/csrc/autograd/functions/init.cpp:182:31: error: address of overloaded function 'getTupleAttr' does not match required type '_object *(_object *, void *)'
  {(char*)&quot;dilation&quot;, (getter)getTupleAttr&lt;ConvForward, std::vector&lt;int&gt;, ConvParams,
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
torch/csrc/autograd/functions/init.cpp:82:11: note: candidate template ignored: invalid explicitly-specified argument for template parameter 'Convert'
PyObject* getTupleAttr(PyObject* obj, void* _unused)
          ^
torch/csrc/autograd/functions/init.cpp:186:37: error: address of overloaded function 'getTupleAttr' does not match required type '_object *(_object *, void *)'
  {(char*)&quot;output_padding&quot;, (getter)getTupleAttr&lt;ConvForward, std::vector&lt;int&gt;, ConvParams,
                                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
torch/csrc/autograd/functions/init.cpp:82:11: note: candidate template ignored: invalid explicitly-specified argument for template parameter 'Convert'
PyObject* getTupleAttr(PyObject* obj, void* _unused)
          ^
torch/csrc/autograd/functions/init.cpp:188:29: error: address of overloaded function 'getValueAttr' does not match required type '_object *(_object *, void *)'
  {(char*)&quot;groups&quot;, (getter)getValueAttr&lt;ConvForward, int, ConvParams,
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
torch/csrc/autograd/functions/init.cpp:99:11: note: candidate template ignored: invalid explicitly-specified argument for template parameter 'Convert'
PyObject* getValueAttr(PyObject* obj, void* _unused)
          ^
torch/csrc/autograd/functions/init.cpp:195:29: error: address of overloaded function 'getTupleAttr' does not match required type '_object *(_object *, void *)'
  {(char*)&quot;stride&quot;, (getter)getTupleAttr&lt;ConvBackward, std::vector&lt;int&gt;, ConvParams,
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
torch/csrc/autograd/functions/init.cpp:82:11: note: candidate template ignored: invalid explicitly-specified argument for template parameter 'Convert'
PyObject* getTupleAttr(PyObject* obj, void* _unused)
          ^
torch/csrc/autograd/functions/init.cpp:197:30: error: address of overloaded function 'getTupleAttr' does not match required type '_object *(_object *, void *)'
  {(char*)&quot;padding&quot;, (getter)getTupleAttr&lt;ConvBackward, std::vector&lt;int&gt;, ConvParams,
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
torch/csrc/autograd/functions/init.cpp:82:11: note: candidate template ignored: invalid explicitly-specified argument for template parameter 'Convert'
PyObject* getTupleAttr(PyObject* obj, void* _unused)
          ^
torch/csrc/autograd/functions/init.cpp:199:31: error: address of overloaded function 'getTupleAttr' does not match required type '_object *(_object *, void *)'
  {(char*)&quot;dilation&quot;, (getter)getTupleAttr&lt;ConvBackward, std::vector&lt;int&gt;, ConvParams,
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
torch/csrc/autograd/functions/init.cpp:82:11: note: candidate template ignored: invalid explicitly-specified argument for template parameter 'Convert'
PyObject* getTupleAttr(PyObject* obj, void* _unused)
          ^
torch/csrc/autograd/functions/init.cpp:203:37: error: address of overloaded function 'getTupleAttr' does not match required type '_object *(_object *, void *)'
  {(char*)&quot;output_padding&quot;, (getter)getTupleAttr&lt;ConvBackward, std::vector&lt;int&gt;, ConvParams,
                                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
torch/csrc/autograd/functions/init.cpp:82:11: note: candidate template ignored: invalid explicitly-specified argument for template parameter 'Convert'
PyObject* getTupleAttr(PyObject* obj, void* _unused)
          ^
torch/csrc/autograd/functions/init.cpp:205:29: error: address of overloaded function 'getValueAttr' does not match required type '_object *(_object *, void *)'
  {(char*)&quot;groups&quot;, (getter)getValueAttr&lt;ConvBackward, int, ConvParams,
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
torch/csrc/autograd/functions/init.cpp:99:11: note: candidate template ignored: invalid explicitly-specified argument for template parameter 'Convert'
PyObject* getValueAttr(PyObject* obj, void* _unused)
          ^
torch/csrc/autograd/functions/init.cpp:212:29: error: address of overloaded function 'getTupleAttr' does not match required type '_object *(_object *, void *)'
  {(char*)&quot;stride&quot;, (getter)getTupleAttr&lt;ConvBackwardBackward, std::vector&lt;int&gt;, ConvParams,
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
torch/csrc/autograd/functions/init.cpp:82:11: note: candidate template ignored: invalid explicitly-specified argument for template parameter 'Convert'
PyObject* getTupleAttr(PyObject* obj, void* _unused)
          ^
torch/csrc/autograd/functions/init.cpp:214:30: error: address of overloaded function 'getTupleAttr' does not match required type '_object *(_object *, void *)'
  {(char*)&quot;padding&quot;, (getter)getTupleAttr&lt;ConvBackwardBackward, std::vector&lt;int&gt;, ConvParams,
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
torch/csrc/autograd/functions/init.cpp:82:11: note: candidate template ignored: invalid explicitly-specified argument for template parameter 'Convert'
PyObject* getTupleAttr(PyObject* obj, void* _unused)
          ^
torch/csrc/autograd/functions/init.cpp:216:31: error: address of overloaded function 'getTupleAttr' does not match required type '_object *(_object *, void *)'
  {(char*)&quot;dilation&quot;, (getter)getTupleAttr&lt;ConvBackwardBackward, std::vector&lt;int&gt;, ConvParams,
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
torch/csrc/autograd/functions/init.cpp:82:11: note: candidate template ignored: invalid explicitly-specified argument for template parameter 'Convert'
PyObject* getTupleAttr(PyObject* obj, void* _unused)
          ^
torch/csrc/autograd/functions/init.cpp:220:37: error: address of overloaded function 'getTupleAttr' does not match required type '_object *(_object *, void *)'
  {(char*)&quot;output_padding&quot;, (getter)getTupleAttr&lt;ConvBackwardBackward, std::vector&lt;int&gt;, ConvParams,
                                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
torch/csrc/autograd/functions/init.cpp:82:11: note: candidate template ignored: invalid explicitly-specified argument for template parameter 'Convert'
PyObject* getTupleAttr(PyObject* obj, void* _unused)
          ^
torch/csrc/autograd/functions/init.cpp:222:29: error: address of overloaded function 'getValueAttr' does not match required type '_object *(_object *, void *)'
  {(char*)&quot;groups&quot;, (getter)getValueAttr&lt;ConvBackwardBackward, int, ConvParams,
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
torch/csrc/autograd/functions/init.cpp:99:11: note: candidate template ignored: invalid explicitly-specified argument for template parameter 'Convert'
PyObject* getValueAttr(PyObject* obj, void* _unused)
          ^
15 errors generated.```"><pre lang="torch/csrc/autograd/functions/init.cpp:178:29:" class="notranslate"><code class="notranslate">  {(char*)"stride", (getter)getTupleAttr&lt;ConvForward, std::vector&lt;int&gt;, ConvParams,
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
torch/csrc/autograd/functions/init.cpp:82:11: note: candidate template ignored: invalid explicitly-specified argument for template parameter 'Convert'
PyObject* getTupleAttr(PyObject* obj, void* _unused)
          ^
torch/csrc/autograd/functions/init.cpp:180:30: error: address of overloaded function 'getTupleAttr' does not match required type '_object *(_object *, void *)'
  {(char*)"padding", (getter)getTupleAttr&lt;ConvForward, std::vector&lt;int&gt;, ConvParams,
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
torch/csrc/autograd/functions/init.cpp:82:11: note: candidate template ignored: invalid explicitly-specified argument for template parameter 'Convert'
PyObject* getTupleAttr(PyObject* obj, void* _unused)
          ^
torch/csrc/autograd/functions/init.cpp:182:31: error: address of overloaded function 'getTupleAttr' does not match required type '_object *(_object *, void *)'
  {(char*)"dilation", (getter)getTupleAttr&lt;ConvForward, std::vector&lt;int&gt;, ConvParams,
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
torch/csrc/autograd/functions/init.cpp:82:11: note: candidate template ignored: invalid explicitly-specified argument for template parameter 'Convert'
PyObject* getTupleAttr(PyObject* obj, void* _unused)
          ^
torch/csrc/autograd/functions/init.cpp:186:37: error: address of overloaded function 'getTupleAttr' does not match required type '_object *(_object *, void *)'
  {(char*)"output_padding", (getter)getTupleAttr&lt;ConvForward, std::vector&lt;int&gt;, ConvParams,
                                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
torch/csrc/autograd/functions/init.cpp:82:11: note: candidate template ignored: invalid explicitly-specified argument for template parameter 'Convert'
PyObject* getTupleAttr(PyObject* obj, void* _unused)
          ^
torch/csrc/autograd/functions/init.cpp:188:29: error: address of overloaded function 'getValueAttr' does not match required type '_object *(_object *, void *)'
  {(char*)"groups", (getter)getValueAttr&lt;ConvForward, int, ConvParams,
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
torch/csrc/autograd/functions/init.cpp:99:11: note: candidate template ignored: invalid explicitly-specified argument for template parameter 'Convert'
PyObject* getValueAttr(PyObject* obj, void* _unused)
          ^
torch/csrc/autograd/functions/init.cpp:195:29: error: address of overloaded function 'getTupleAttr' does not match required type '_object *(_object *, void *)'
  {(char*)"stride", (getter)getTupleAttr&lt;ConvBackward, std::vector&lt;int&gt;, ConvParams,
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
torch/csrc/autograd/functions/init.cpp:82:11: note: candidate template ignored: invalid explicitly-specified argument for template parameter 'Convert'
PyObject* getTupleAttr(PyObject* obj, void* _unused)
          ^
torch/csrc/autograd/functions/init.cpp:197:30: error: address of overloaded function 'getTupleAttr' does not match required type '_object *(_object *, void *)'
  {(char*)"padding", (getter)getTupleAttr&lt;ConvBackward, std::vector&lt;int&gt;, ConvParams,
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
torch/csrc/autograd/functions/init.cpp:82:11: note: candidate template ignored: invalid explicitly-specified argument for template parameter 'Convert'
PyObject* getTupleAttr(PyObject* obj, void* _unused)
          ^
torch/csrc/autograd/functions/init.cpp:199:31: error: address of overloaded function 'getTupleAttr' does not match required type '_object *(_object *, void *)'
  {(char*)"dilation", (getter)getTupleAttr&lt;ConvBackward, std::vector&lt;int&gt;, ConvParams,
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
torch/csrc/autograd/functions/init.cpp:82:11: note: candidate template ignored: invalid explicitly-specified argument for template parameter 'Convert'
PyObject* getTupleAttr(PyObject* obj, void* _unused)
          ^
torch/csrc/autograd/functions/init.cpp:203:37: error: address of overloaded function 'getTupleAttr' does not match required type '_object *(_object *, void *)'
  {(char*)"output_padding", (getter)getTupleAttr&lt;ConvBackward, std::vector&lt;int&gt;, ConvParams,
                                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
torch/csrc/autograd/functions/init.cpp:82:11: note: candidate template ignored: invalid explicitly-specified argument for template parameter 'Convert'
PyObject* getTupleAttr(PyObject* obj, void* _unused)
          ^
torch/csrc/autograd/functions/init.cpp:205:29: error: address of overloaded function 'getValueAttr' does not match required type '_object *(_object *, void *)'
  {(char*)"groups", (getter)getValueAttr&lt;ConvBackward, int, ConvParams,
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
torch/csrc/autograd/functions/init.cpp:99:11: note: candidate template ignored: invalid explicitly-specified argument for template parameter 'Convert'
PyObject* getValueAttr(PyObject* obj, void* _unused)
          ^
torch/csrc/autograd/functions/init.cpp:212:29: error: address of overloaded function 'getTupleAttr' does not match required type '_object *(_object *, void *)'
  {(char*)"stride", (getter)getTupleAttr&lt;ConvBackwardBackward, std::vector&lt;int&gt;, ConvParams,
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
torch/csrc/autograd/functions/init.cpp:82:11: note: candidate template ignored: invalid explicitly-specified argument for template parameter 'Convert'
PyObject* getTupleAttr(PyObject* obj, void* _unused)
          ^
torch/csrc/autograd/functions/init.cpp:214:30: error: address of overloaded function 'getTupleAttr' does not match required type '_object *(_object *, void *)'
  {(char*)"padding", (getter)getTupleAttr&lt;ConvBackwardBackward, std::vector&lt;int&gt;, ConvParams,
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
torch/csrc/autograd/functions/init.cpp:82:11: note: candidate template ignored: invalid explicitly-specified argument for template parameter 'Convert'
PyObject* getTupleAttr(PyObject* obj, void* _unused)
          ^
torch/csrc/autograd/functions/init.cpp:216:31: error: address of overloaded function 'getTupleAttr' does not match required type '_object *(_object *, void *)'
  {(char*)"dilation", (getter)getTupleAttr&lt;ConvBackwardBackward, std::vector&lt;int&gt;, ConvParams,
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
torch/csrc/autograd/functions/init.cpp:82:11: note: candidate template ignored: invalid explicitly-specified argument for template parameter 'Convert'
PyObject* getTupleAttr(PyObject* obj, void* _unused)
          ^
torch/csrc/autograd/functions/init.cpp:220:37: error: address of overloaded function 'getTupleAttr' does not match required type '_object *(_object *, void *)'
  {(char*)"output_padding", (getter)getTupleAttr&lt;ConvBackwardBackward, std::vector&lt;int&gt;, ConvParams,
                                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
torch/csrc/autograd/functions/init.cpp:82:11: note: candidate template ignored: invalid explicitly-specified argument for template parameter 'Convert'
PyObject* getTupleAttr(PyObject* obj, void* _unused)
          ^
torch/csrc/autograd/functions/init.cpp:222:29: error: address of overloaded function 'getValueAttr' does not match required type '_object *(_object *, void *)'
  {(char*)"groups", (getter)getValueAttr&lt;ConvBackwardBackward, int, ConvParams,
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
torch/csrc/autograd/functions/init.cpp:99:11: note: candidate template ignored: invalid explicitly-specified argument for template parameter 'Convert'
PyObject* getValueAttr(PyObject* obj, void* _unused)
          ^
15 errors generated.```
</code></pre></div>
<p dir="auto">One representative error:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="torch/csrc/autograd/functions/init.cpp:220:37: error: address of overloaded function 'getTupleAttr' does not match required type '_object *(_object *, void *)'
  {(char*)&quot;output_padding&quot;, (getter)getTupleAttr&lt;ConvBackwardBackward, std::vector&lt;int&gt;, ConvParams,
                                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
torch/csrc/autograd/functions/init.cpp:82:11: note: candidate template ignored: invalid explicitly-specified argument for template parameter 'Convert'
PyObject* getTupleAttr(PyObject* obj, void* _unused)"><pre class="notranslate"><code class="notranslate">torch/csrc/autograd/functions/init.cpp:220:37: error: address of overloaded function 'getTupleAttr' does not match required type '_object *(_object *, void *)'
  {(char*)"output_padding", (getter)getTupleAttr&lt;ConvBackwardBackward, std::vector&lt;int&gt;, ConvParams,
                                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
torch/csrc/autograd/functions/init.cpp:82:11: note: candidate template ignored: invalid explicitly-specified argument for template parameter 'Convert'
PyObject* getTupleAttr(PyObject* obj, void* _unused)
</code></pre></div>
<p dir="auto">The cause of the problem is <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/pytorch/pytorch/commit/aa911939a328eff55c9b28b39ed3c43507ba8a2a/hovercard" href="https://github.com/pytorch/pytorch/commit/aa911939a328eff55c9b28b39ed3c43507ba8a2a"><tt>aa91193</tt></a>:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="   {(char*)&quot;output_padding&quot;, (getter)getTupleAttr&lt;ConvForward, std::vector&lt;int&gt;, ConvParams,
-                                         &amp;ConvParams::output_padding, long, PyInt_FromLong&gt;, NULL, NULL, NULL},
+                                         &amp;ConvParams::output_padding, int64_t, PyInt_FromLong&gt;, NULL, NULL, NULL},"><pre class="notranslate"><code class="notranslate">   {(char*)"output_padding", (getter)getTupleAttr&lt;ConvForward, std::vector&lt;int&gt;, ConvParams,
-                                         &amp;ConvParams::output_padding, long, PyInt_FromLong&gt;, NULL, NULL, NULL},
+                                         &amp;ConvParams::output_padding, int64_t, PyInt_FromLong&gt;, NULL, NULL, NULL},
</code></pre></div>
<p dir="auto">It seems that on clang, changing the type parameter here is sufficient to cause template instantiation to fail.</p>
<p dir="auto">Maybe the easiest way to fix this is to write a more portable version of PyInt_FromLong (and friends) which always returns <code class="notranslate">int64_t</code>.</p>