Skip to content

Update fable, fix backing fields#56

Merged
HLWeil merged 8 commits into
CSBiology:mainfrom
caroott:fable5.1_backingfields
Jun 8, 2026
Merged

Update fable, fix backing fields#56
HLWeil merged 8 commits into
CSBiology:mainfrom
caroott:fable5.1_backingfields

Conversation

@caroott

@caroott caroott commented Jun 8, 2026

Copy link
Copy Markdown
Member

This PR updates DynamicObj for Fable 5.1.0 and fixes JS/Python dynamic property handling.

Dynamic members are now stored and enumerated through the internal Properties dictionary on Fable targets, so compiler-generated backing fields no longer leak through GetProperties(false). This removes the previous native JS/Python attribute behavior for dynamic members.

Changes

  • Update Fable tooling/runtime test dependencies to 5.1.0
  • Fix leaked backing fields in JS/Python dynamic member enumeration
  • Fix Python ResizeArray deep-copy handling
  • Make Python native == and hash() match DynamicObj structural equality/hash

@HLWeil

HLWeil commented Jun 8, 2026

Copy link
Copy Markdown
Member

Tests fail currently, I guess because a missing uv setup (maybe requirement resolving is missing). Could you check this, @caroott?

@caroott

caroott commented Jun 8, 2026

Copy link
Copy Markdown
Member Author

Tests fail currently, I guess because a missing uv setup (maybe requirement resolving is missing). Could you check this, @caroott?

Fable 5 changed Python output to import fable_library as an installed Python package, while older Fable output bundled it under fable_modules. CI created an empty .venv but never installed the dependencies from pyproject.toml, so Python could not find fable_library.

@HLWeil HLWeil left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm, thanks!

@HLWeil HLWeil merged commit 6b9992a into CSBiology:main Jun 8, 2026
2 checks passed
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.

2 participants