~/talk

Symbolic Macros and Rule Finalizers

Talkat BazelCon 2024 · 2024-10-14..10-15· [compilers-and-language-design]
links:none on file
links:none on file
slides:none on file

Structured symbolic macros land in Bazel 8.0 and require typed attributes, automatic name and visibility handling, and configurable support for selects so macros safely accept label selects; attribute inheritance and lazy macro expansion are planned in 8.x (aiming for 8.1) as opt‑ins. A new finalizer=true symbolic macro type runs in the final load stage, may call native.existing to inspect non‑finalizer targets, and forces eager expansion when its namespace is requested. Workbench shows improved visibility scoping and reduced accidental target proliferation via lazy macro expansion (opt‑in).

AI-written summary · about

  1. 0:00Legacy macros in Bazel
  2. 2:05Problems with legacy macros
  3. 6:21Symbolic macros
  4. 9:11Naming and visibility
  5. 13:10Visibility benefits
  6. 15:39Restrictions and finalizers
  7. 17:27Rule finalizers
  8. 20:20New features timeline
  9. 22:30Q&A
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.