Reverted commit D3270439
authorJinlong Zhou <jlz@fb.com>
Thu, 16 Jun 2016 20:26:54 +0000 (13:26 -0700)
committerFacebook Github Bot 0 <facebook-github-bot-0-bot@fb.com>
Thu, 16 Jun 2016 20:38:50 +0000 (13:38 -0700)
commit0f2aacae3d558f5cf54751b170c4e50d5483cc29
treee59555db73288280935974db0dc069f29cd30f43
parentddd5d517e8dd65304f2fb9722e1258bdd9af5b2f
Reverted commit D3270439

Summary:
[temp] (14)/6:
> A function template, member function of a class template, variable template, or static data member of a class template shall be defined in every translation unit in which it is implicitly instantiated (14.7.1) unless the corresponding specialization is explicitly instantiated (14.7.2) in some translation unit; no diagnostic is required.

`-Wundefined-var-template` warns on any implicit instantiations that are needed but could not be performed because the definition is not available. In particular, for valid code, this warns on templates/temploids which have their definition and all relevant explicit instantiations tucked away in some source file (but for which no explicit instantiation declarations are provided in the relevant header file) - used a few times in folly. This seems a bad style, the static data member template should either be defined in the header file or should be explicitly instantiated in each .cpp file.

Reviewed By: igorsugak

Differential Revision: D3270439

fbshipit-source-id: e8cdb0452c2f6240a348b93cdbf9975813f27bfe
folly/Fingerprint.h
folly/SharedMutex.cpp
folly/SharedMutex.h
folly/detail/CacheLocality.cpp
folly/detail/CacheLocality.h
folly/test/CacheLocalityBenchmark.cpp
folly/test/CacheLocalityTest.cpp
folly/test/DeterministicSchedule.cpp
folly/test/SharedMutexTest.cpp