fuchsia-trailing-return¶
禁止使用尾随返回值的函数,除了使用 decltype
指定符和返回类型无法表达的 lambda。
例如
// No warning
int add_one(const int arg) { return arg; }
// Warning
auto get_add_one() -> int (*)(const int) {
return add_one;
}
lambda 和 decltype
指定符除外
// No warning
auto lambda = [](double x, double y) -> double {return x + y;};
// No warning
template <typename T1, typename T2>
auto fn(const T1 &lhs, const T2 &rhs) -> decltype(lhs + rhs) {
return lhs + rhs;
}
有关 Fuchsia 中禁止的功能,请参见 https://fuchsia.dev/fuchsia-src/development/languages/c-cpp/cxx?hl=en