This means removing all side effects from FastTypeId(). So rather than instantiate dummy_var in the first call to FastTypeId(), move this responsibility to the linker, and only read its address during execution - guaranteed to never change. This allows for more optimization opportunities, with more explicit uses of constexpr |
||
|---|---|---|
| .. | ||
| any.h | ||
| any_test.cc | ||
| bad_any_cast.cc | ||
| bad_any_cast.h | ||
| bad_optional_access.cc | ||
| bad_optional_access.h | ||
| BUILD.bazel | ||
| optional.cc | ||
| optional.h | ||
| optional_test.cc | ||
| span.h | ||
| span_test.cc | ||