You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add --no-copy <regex> and Builder::no_copy(String) to supply regexes for matching against types that we should not derive or implement Copy for.
Adding this feature involves:
Adding a new RegexSet member to bindgen::Builder (similar to the whitelisted_types set).
A Builder method to add strings to that RegexSet.
Plumbing in src/options.rs to convert --no-copy <regex> CLI flags into invocations of the builder method.
Making the MonotoneFramework::constrain function in src/ir/analysis/derive_copy.rs check if the given item is explicitly marked not to be Copy, and if so, inserting it into the self.cannot_derive_copy set via return self.insert(id).
Tests!
When the no-copy type is transitively referenced by a whitelisted item
When the no-copy type is explicitly whitelisted
When the no-copy type is marked opaque
The text was updated successfully, but these errors were encountered:
Add
--no-copy <regex>
andBuilder::no_copy(String)
to supply regexes for matching against types that we should not derive or implementCopy
for.Adding this feature involves:
Adding a new
RegexSet
member tobindgen::Builder
(similar to thewhitelisted_types
set).A
Builder
method to add strings to thatRegexSet
.Plumbing in
src/options.rs
to convert--no-copy <regex>
CLI flags into invocations of the builder method.Making the
MonotoneFramework::constrain
function insrc/ir/analysis/derive_copy.rs
check if the given item is explicitly marked not to beCopy
, and if so, inserting it into theself.cannot_derive_copy
set viareturn self.insert(id)
.Tests!
When the no-copy type is transitively referenced by a whitelisted item
When the no-copy type is explicitly whitelisted
When the no-copy type is marked opaque
The text was updated successfully, but these errors were encountered: