(closes #3135) Fix cyclic dependencies by replacing Scalartype import-time instantiations - #3436
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #3436 +/- ##
=======================================
Coverage 99.96% 99.96%
=======================================
Files 391 391
Lines 54659 54683 +24
=======================================
+ Hits 54640 54664 +24
Misses 19 19 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
@LonelyCat124 @arporter This is ready for review |
LonelyCat124
left a comment
There was a problem hiding this comment.
@sergisiso I struggled to look through every single change (my browser is dying looking at the diffs...) but I found some minor issues to check with imports in examples and docs - can you check these? Then I can probably merge.
|
@LonelyCat124 This is ready for another review. |
|
Set ITs running as a sanity check but otherwise all is good. |
|
@LonelyCat124 the integration test spotted a INTEGER_TYPE in lfric_apps. I will push a fix now |
|
|
|
@LonelyCat124 This has finally passed all tests. I had to do it with multiple lfric_apps hash update attempts as I had no access to the system to test it directly. |
|
Ok, now ITs pass I'll proceed to merge. |
I hit #3135 again where some cyclic dependencies cannot be prevented by adding the import inside methods because they happen when symbols are initialised at import-time. To remove this import time instantiations I opted for creating ScalarType staticmethods instead of the factory proposed in the issue. The change itself is small, but it is repeated many many times.