pytorch/test/cpp/api/namespace.cpp
Will Feng baeb359e7a Remove using namespace torch::autograd from header files (#34423)
Summary:
This PR prevents leaking symbols from `torch::autograd` namespace to the root namespace.
Fixes https://github.com/pytorch/pytorch/issues/34371.
Pull Request resolved: https://github.com/pytorch/pytorch/pull/34423

Differential Revision: D20338404

Pulled By: yf225

fbshipit-source-id: e7ff3348193667a0cee5d38f9a003ae36cc704ca
2020-03-09 10:31:21 -07:00

20 lines
692 B
C++

#include <gtest/gtest.h>
#include <torch/torch.h>
struct Node {};
// If `torch::autograd::Note` is leaked into the root namespace, the following compile error would throw:
// ```
// void NotLeakingSymbolsFromTorchAutogradNamespace_test_func(Node *node) {}
// ^
// error: reference to `Node` is ambiguous
// ```
void NotLeakingSymbolsFromTorchAutogradNamespace_test_func(Node *node) {}
TEST(NamespaceTests, NotLeakingSymbolsFromTorchAutogradNamespace) {
// Checks that we are not leaking symbols from the
// `torch::autograd` namespace to the root namespace
NotLeakingSymbolsFromTorchAutogradNamespace_test_func(nullptr);
}