Skip to content

Commit aff812e

Browse files
r-barnesfacebook-github-bot
authored andcommitted
Fix shadowed variable in faiss/clone_index.cpp
Summary: Our upcoming compiler upgrade will require us not to have shadowed variables. Such variables have a _high_ bug rate and reduce readability, so we would like to avoid them even if the compiler was not forcing us to do so. This codemod attempts to fix an instance of a shadowed variable. Please review with care: if it's failed the result will be a silent bug. **What's a shadowed variable?** Shadowed variables are variables in an inner scope with the same name as another variable in an outer scope. Having the same name for both variables might be semantically correct, but it can make the code confusing to read! It can also hide subtle bugs. This diff fixes such an issue by renaming the variable. - If you approve of this diff, please use the "Accept & Ship" button :-) Reviewed By: dmm-fb Differential Revision: D52582793 fbshipit-source-id: 2941630671d99de39c19cfc5d24b2e27e495c171
1 parent c540e76 commit aff812e

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

faiss/clone_index.cpp

+4-3
Original file line numberDiff line numberDiff line change
@@ -63,9 +63,10 @@ Index* clone_index(const Index* index) {
6363
// assumes there is a copy constructor ready. Always try from most
6464
// specific to most general. Most indexes don't have complicated
6565
// structs, the default copy constructor often just works.
66-
#define TRYCLONE(classname, obj) \
67-
if (const classname* clo = dynamic_cast<const classname*>(obj)) { \
68-
return new classname(*clo); \
66+
#define TRYCLONE(classname, obj) \
67+
if (const classname* clo##classname = \
68+
dynamic_cast<const classname*>(obj)) { \
69+
return new classname(*clo##classname); \
6970
} else
7071

7172
VectorTransform* Cloner::clone_VectorTransform(const VectorTransform* vt) {

0 commit comments

Comments
 (0)