Skip to content

Conversation

nsajko
Copy link
Contributor

@nsajko nsajko commented Jun 6, 2025

PR #99 rebased on top of current master:

replace constructorof with something not UB

vtjnash and others added 6 commits June 6, 2025 14:02
It is confusing that `constructorof` is documented as returning the constructor of `T`, which is normally defined to be `T`, and then typically does not return `T`, and so does not usually construct `T`. However, this PR is intended just to remove the undefined behavior here of using an unsound generated function (examining mutable state with getfield).
@aplavin
Copy link
Member

aplavin commented Jun 6, 2025

IMO:

  • we can easily ignore integration tests on Julia 1.6 (eg Accessors stopped supporting that version anyways)
  • failures Accessors@pre and Setfield failures don't seem related

@nsajko
Copy link
Contributor Author

nsajko commented Jun 7, 2025

I suppose this should be OK to merge now. The failing Accessors test certainly seems like something that would be flaky (speed measurement, approximate floating point comparison), while the others also fail in empty PR #103.

@aplavin
Copy link
Member

aplavin commented Jun 7, 2025

Dropping older Julias support – in doing so, we should also remove all VERSION checks as they won't be triggerable.

Generally, I'm fine with this PR (although Accessors@pre failure seems real, I reran that job...).
Looking for others opinions, @jw3126 @rafaqz?

@jw3126
Copy link
Member

jw3126 commented Jun 7, 2025

We can drop old Julia versions. I reran the Accessors/pre benchmark a few times and the error persisted. So I don't think it is just noise but a real regression. However, it is not a super important regression that necessarily blocks this PR.

@nsajko
Copy link
Contributor Author

nsajko commented Jun 7, 2025

The Accessors/pre benchmark failure reproduces without this PR on v1.12.0-beta4.

@rafaqz
Copy link
Member

rafaqz commented Jun 7, 2025

Dropping pre 1.10 is fine with me

@aplavin
Copy link
Member

aplavin commented Jun 8, 2025

Looks like everyone supports this PR, thank you :) Could you please remove the now-unreachable and untestable code? (all VERSION checks).

@aplavin aplavin merged commit da88ba7 into JuliaObjects:master Jun 8, 2025
18 of 23 checks passed
@nsajko nsajko deleted the rebased_pr_99 branch June 8, 2025 23:29
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.

5 participants