Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Adjust to upcoming base Julia change
This adjusts the `@system` macro to be compatible with JuliaLang/julia#56497, which re-orders the point at which a type is published into the bindings table until after it is complete. This package was (uniquely among all julia packages) relying on the binding existing during field definition (via a call to `typefor`). Unfortunately, there isn't really a great place to define as the system (currently) does not gurantee an order of the evaluation of field types with respect to other global statements inside the struct evaluation. The only place that satiesfies the criteria that a) incomplete struct is avilable b) it is evaluated before any field types is the supertype declaration, so this PR shoves the definition of `typefor` there. This works both before and after the change, although it is quite messy. In the future, there may be a way to forward declare an incomplete type, but for the time being, this is the best I could come up with.
- Loading branch information