You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

50 lines
1021 B

/*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
namespace skip_model {
struct SkipAll {
int* foo() { return nullptr; }
static int* goo() { return nullptr; }
};
template <typename T>
struct SkipSome {
int* skip_me(int**) { return nullptr; }
static int no_skip() { return 42; }
};
void test_config_no_skip_ok() {
if (SkipSome<SkipSome<int>>::no_skip() != 42) {
int* p = nullptr;
*p = 42;
}
}
void test_config_skip_me_ok() {
int* may_be_mutated = nullptr;
int* p = nullptr;
SkipSome<SkipSome<int>> x;
p = x.skip_me(&may_be_mutated);
*p = 42;
*may_be_mutated = 42;
}
} // namespace skip_model
namespace skip_another_namespace {
void test_config_foo_ok() {
int* p = nullptr;
skip_model::SkipAll x;
p = x.foo();
*p = 42;
}
void test_config_goo_ok() {
int* p = skip_model::SkipAll::goo();
*p = 42;
}
} // namespace skip_another_namespace