1*da0073e9SAndroid Build Coastguard Worker #include <gtest/gtest.h> 2*da0073e9SAndroid Build Coastguard Worker 3*da0073e9SAndroid Build Coastguard Worker #include <torch/torch.h> 4*da0073e9SAndroid Build Coastguard Worker 5*da0073e9SAndroid Build Coastguard Worker struct Node {}; 6*da0073e9SAndroid Build Coastguard Worker 7*da0073e9SAndroid Build Coastguard Worker // If `torch::autograd::Note` is leaked into the root namespace, the following 8*da0073e9SAndroid Build Coastguard Worker // compile error would throw: 9*da0073e9SAndroid Build Coastguard Worker // ``` 10*da0073e9SAndroid Build Coastguard Worker // void NotLeakingSymbolsFromTorchAutogradNamespace_test_func(Node *node) {} 11*da0073e9SAndroid Build Coastguard Worker // ^ 12*da0073e9SAndroid Build Coastguard Worker // error: reference to `Node` is ambiguous 13*da0073e9SAndroid Build Coastguard Worker // ``` NotLeakingSymbolsFromTorchAutogradNamespace_test_func(Node * node)14*da0073e9SAndroid Build Coastguard Workervoid NotLeakingSymbolsFromTorchAutogradNamespace_test_func(Node* node) {} 15*da0073e9SAndroid Build Coastguard Worker TEST(NamespaceTests,NotLeakingSymbolsFromTorchAutogradNamespace)16*da0073e9SAndroid Build Coastguard WorkerTEST(NamespaceTests, NotLeakingSymbolsFromTorchAutogradNamespace) { 17*da0073e9SAndroid Build Coastguard Worker // Checks that we are not leaking symbols from the 18*da0073e9SAndroid Build Coastguard Worker // `torch::autograd` namespace to the root namespace 19*da0073e9SAndroid Build Coastguard Worker NotLeakingSymbolsFromTorchAutogradNamespace_test_func(nullptr); 20*da0073e9SAndroid Build Coastguard Worker } 21