assume_lifetimes: adjust the heuristic that determines when a record is a view#1496
Open
copybara-service[bot] wants to merge 1 commit into
Open
assume_lifetimes: adjust the heuristic that determines when a record is a view#1496copybara-service[bot] wants to merge 1 commit into
copybara-service[bot] wants to merge 1 commit into
Conversation
copybara-service
Bot
force-pushed
the
test_951842153
branch
2 times, most recently
from
July 22, 2026 03:54
2ff51bb to
d8890fb
Compare
…is a view (N-arity) vs. an owner (0-arity); fix some small codegen issues Previously we assumed that records with [[lifetimebound]] were generally views, and needed an associated lifetime parameter. This isn't the case for, e.g., a struct that only wraps a std::string. Change the heuristic so that an unannotated record is assumed to have arity 0 if all of its fields are arity 0. (Since we don't import anything about private fields, we approximate their presence with a single bit that's set if any nonpublic fields are pointers or references. We plan on adding support for an explicit ABSL_ATTRIBUTE_OWNER (or similar) annotation). PiperOrigin-RevId: 951842153
copybara-service
Bot
force-pushed
the
test_951842153
branch
from
July 22, 2026 04:01
d8890fb to
0724113
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
assume_lifetimes: adjust the heuristic that determines when a record is a view
(N-arity) vs. an owner (0-arity); fix some small codegen issues
Previously we assumed that records with [[lifetimebound]] were generally views,
and needed an associated lifetime parameter. This isn't the case for, e.g.,
a struct that only wraps a std::string. Change the heuristic so that an
unannotated record is assumed to have arity 0 if all of its fields are arity 0.
(Since we don't import anything about private fields, we approximate their
presence with a single bit that's set if any nonpublic fields are pointers
or references. We plan on adding support for an explicit ABSL_ATTRIBUTE_OWNER
(or similar) annotation).