#2694·folly

macOS CI cannot compile result epitaph sources without transitive standard headers

Author: dajiaohuangCreated Sep 8, 2026Updated Sep 8, 2026

Summary

The current main tip (65749da412d92fe27d87ae45a8ef670720712858) fails the macOS workflow while compiling the result/epitaph sources because they use standard-library types without including their defining headers.

folly/result/epitaph.cpp uses std::vector in format_epitaph_stack() (lines 47-58), but does not include <vector>. folly/result/rich_error_code.h uses std::exception_ptr, std::same_as, and std::derived_from (lines 101-145), but does not include <exception> and <concepts>.

The failure is visible in the macOS run for the current main commit: epitaph.cpp reports no member named 'vector' in namespace 'std', and rich_error_code.h reports no type named 'exception_ptr' in namespace 'std' / concept errors.

Expected behavior

The sources should include the standard headers for the types they use so the supported macOS build does not depend on transitive includes.

Reproduction

The failure is reproduced by the repository's macOS workflow for main: https://github.com/facebook/folly/actions/runs/33943906671