finos / finos/rune-python-runtime
Assignment/Object Creation fails for non-@ref/@ref:external properties when reusing a value object previously assigned to an @ref/@ref:external property.
- Dominant language
- Python
- Stars
- 0
- Forks
- 3
- PR merge metrics
- No merged PRs in 30d
Description
## Summary
Assignment (and/or object creation) fails for properties without `@ref` / `@ref:external` metadata when the same value object instance was previously assigned to a different property that is decorated with `@ref` or `@ref:external`.
## Observed Behaviour
When a value object V is first assigned to a “tagged” property (e.g., propTagged annotated with `@ref` or `@ref:external`), subsequent attempts to assign that same object V to an “untagged” property (e.g., propPlain with no `@ref`/`@ref:external`) fail.
This can happen during:
- direct property assignment, and/or
- object construction / deserialization where the same value object is reused across properties.
## Expected Behavior
Reusing the same value object instance across different properties should not cause assignment/creation to fail solely due to metadata differences between the properties. If V is valid for propPlain by type/shape, it should assign successfully regardless of whether it was previously used with a `@ref` / `@ref:external` tagged property.
## Workaround
- Cloning/copying the value object before assigning to the untagged property.
Contributor guide
Assessment
This issue has not been assessed yet.