Commit Graph

6 Commits

Author SHA1 Message Date
William S Fulton 5c5911ee3b Assignable fixes for reference member variables
Fix incorrect variable setters being generated when wrapping
reference member variables. A setter is no longer generated if the
type of the reference member variable is non-assignable.

Fixes #2866
2024-09-19 19:52:14 +01:00
William S Fulton 650aad82ed Fix incorrect variable setters being generated when wrapping arrays
A setter is no longer generated if the type of the array members
are non-assignable.
2023-09-09 19:15:15 +01:00
William S Fulton ec53b06b8a Restore missing variable setters for types containing non-assignable static members
A struct/class that contains a non-assignable member variable is
actually assignable itself. Only non-static members, not static members,
contribute to the containing class being non-assignable.

Recent regression fix from a few commits back.
2023-09-08 07:49:01 +01:00
William S Fulton f3e12fbd47 Assignment operator detection fixes when wrapping static member variables
Also add tests for global variables are immutable via assignment.
2023-09-07 07:02:35 +01:00
William S Fulton e07957ad4c Implicit assignment operator detection fixes.
A class that does not have an explicit assignment operator does not
have an implicit assignment operator if a member variable is not
assignable. Similarly should one of the base classes also not be
assignable. Detection of these scenarios has been fixed so that when
wrapping a variable that is not assignable, a variable setter is not
generated in order to avoid a compiler error.

Template instantiation via %template is required in order for this to
work for templates that are not assignable.

Closes #1416
2023-09-07 04:41:52 +01:00
William S Fulton 5284999bde Add tests for C++11 deleted assignment operators and member variables
Check that setters are not generated if the member variable is not
assignable.
2023-09-07 04:41:52 +01:00