<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=http://email.email.llvm.org/c/eJytVE1z2yAQ_TXosmOPBJZlHXRI4vTWU_0HEKwtEgwuoHiSX99FspM0k0yn02oQH7vs6r3Hot7r547xb9SAcVGxcsvKm4THk5UJgYm79HxCJ48IO8bvYAeuuoycift5e0xhVAn23gNrbmE2Aj0xyWQUKO9iAjXIwPgNREX5gvGMbxhvc8RbQH4CpjE4QsMzIEgDQi8jwhVUdoh3MazZzos8uTou_Ssx_pvhJEMy0kI8oaLRvBBM7-A8YCCeYCKM7tH5swPpNDEmHSj1NnP-oz7yE1lo2-SVcyfu_7tO_AtOfyGW9mNvEXQmC3wpPriNS3CUxn0GR_kxZS2o0WomPKdjfJ0567kjZcTNR15zGDpt6YtwOSElrY1TRYIhUVBq8Pv3B_nKY-qHlE6Rcs_RB697b9PShwOtXuhtG_mw-64Evg_6gZhDPklA56Ee_ROGvfXnpfJHsv0cMWZFI81FI9ZtxVuaXkthcdF_8bv-i70PC5IOD4F8jgy5XvJmKpmEIS6owib7ZdMMp9Cd0K1oZSHHNPjQPZoQB3k0oRiD7T7QNWkY-wtMa5-uw-IU_AOqREsTI8GnSS3Woi2GrmxFv671qmraXra8X20q3VeVKtvNvlKbtrCyRxs7Vt9SCTk8w5Qil1O9Lf4dgel4yamVDS_relUvZcP5GrUqG6kr0TRsVSKVm13mPPkki9BNKfvxEMlpTUzxzSljNAeHOAEmhMkki93uek-_uPB0OJDOHmK-vwH3dP2dyijvwPk03Uejyainv1DeVUw8uonEL0s_kCs>53639</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            Template partial specialization for two same references, not considered the same
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          kirshamir
      </td>
    </tr>
</table>

<pre>
    // #1
template <typename T, T n1, T n2>
struct foo { 
    static const char* scenario() {
        return "#1 the base template";
    }
};

// #2
// partial specialization where T is unknown and n1 == n2
template <typename T, T a>
struct foo<T, a, a> { 
    static const char* scenario() {
        return "#2 partial specialization";
    }
};

double d = 2.3;

int main() {
    cout <<   foo<double&, d, d>:scenario() << endl; // calls #1 instead of #2
}

https://godbolt.org/z/97ajTMc3e

See:
https://stackoverflow.com/questions/37369129/template-partial-specialization-for-integral-non-type-parameters-and-non-integra

</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJytU01v4yAQ_TX4MkpkQxzHBx_apr3tafMHMExiWgJZwI3aX7-DnbTdqtVqpbUIHzPMMO_NS-_1S8f4Aw1gXFSs3LLyJuHxZGVCYOIuvZzQySPCjvE72IGrLitn4n6-HlMYVYK998CaW5iNQF9MMhkFyruYQA0yMH4DUVG-YDzjG8bbHPEekL-AaQyOquG5IEgDQi8jwrWo7BAfYliznQ95c3Vc5jdg_A_DSYZkpIV4QkWreaUyvYPzgIFwgokwuifnzw6k04SYeKDU24z5r_zIL2iha5NXzpO4_-888W8w_QNZ2o-9RdAZLPCl-OQ2LsFRGvdVOcqPKXNBg04z4Dkd4-uMWc8TMSNuPuOaw9BpSy_CpUNKWhsnRYIhUlBq8PuPjXzDMc1DSqdIuefog9e9t2npw4FOr_RrG_m4-6EEfgz6iZhDvkhA_VBP_hnD3vrzUvkj2X6NGDOjkfaiEeu24i1tr1JYXPhf_Mn_Yu_DgqjDQyCfI0PWS75MkkkY4oIUNtkvl-ZyCt0J3YpWFskki93uKrhvlEuvQDp7iFmIAfekY6cwZtadT5OwjCajnv5O-VYxBtt9os2kYewvcK19vi6LU_CPqBIdTYxjTvtQi7Voi6GTG8lXyJumodZoJeqyFXqzwVVdoVBVVVjZo40dq29Jig7PMKXIsqy3hel4yWmUDS_relUvZcP5GrUqG6kr0TRsVSKJzi5zHbmfReimkvrxEMlpTUzx3SljNAeHOD1H-eWYBh-6JxPiII8mFNPj3VT8b4Maeno">