Skip to content

assume_lifetimes: adjust the heuristic that determines when a record is a view#1496

Open
copybara-service[bot] wants to merge 1 commit into
mainfrom
test_951842153
Open

assume_lifetimes: adjust the heuristic that determines when a record is a view#1496
copybara-service[bot] wants to merge 1 commit into
mainfrom
test_951842153

Conversation

@copybara-service

@copybara-service copybara-service Bot commented Jul 22, 2026

Copy link
Copy Markdown

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).

@copybara-service
copybara-service Bot force-pushed the test_951842153 branch 2 times, most recently from 2ff51bb to d8890fb Compare July 22, 2026 03:54
…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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant