Skip to content

fix: recursive type inference issue #132

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jun 20, 2025
Merged

Conversation

MilesCranmer
Copy link
Member

Copy link

codecov bot commented Jun 20, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 96.68%. Comparing base (b80be2a) to head (002be14).
Report is 2 commits behind head on master.

Additional details and impacted files
@@           Coverage Diff           @@
##           master     #132   +/-   ##
=======================================
  Coverage   96.68%   96.68%           
=======================================
  Files          30       30           
  Lines        2591     2591           
=======================================
  Hits         2505     2505           
  Misses         86       86           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Copy link
Contributor

Benchmark Results (Julia v1)

Time benchmarks
master 002be14... master / 002be14...
eval/ComplexF32/evaluation 7.26 ± 0.51 ms 7.26 ± 0.57 ms 1 ± 0.11
eval/ComplexF64/evaluation 11.4 ± 0.83 ms 10.7 ± 0.74 ms 1.07 ± 0.11
eval/Float32/derivative 11.3 ± 0.54 ms 11.3 ± 0.56 ms 1 ± 0.069
eval/Float32/derivative_turbo 11.3 ± 0.58 ms 11.2 ± 0.59 ms 1.01 ± 0.074
eval/Float32/evaluation 2.72 ± 0.27 ms 2.75 ± 0.26 ms 0.989 ± 0.14
eval/Float32/evaluation_bumper 0.579 ± 0.017 ms 0.576 ± 0.017 ms 1 ± 0.042
eval/Float32/evaluation_turbo 0.527 ± 0.029 ms 0.525 ± 0.033 ms 1 ± 0.084
eval/Float32/evaluation_turbo_bumper 0.578 ± 0.017 ms 0.576 ± 0.017 ms 1 ± 0.042
eval/Float64/derivative 15 ± 0.95 ms 14.5 ± 0.84 ms 1.04 ± 0.089
eval/Float64/derivative_turbo 15.1 ± 1 ms 14.6 ± 0.85 ms 1.04 ± 0.093
eval/Float64/evaluation 3.14 ± 0.35 ms 3.13 ± 0.33 ms 1 ± 0.15
eval/Float64/evaluation_bumper 1.19 ± 0.043 ms 1.19 ± 0.046 ms 1 ± 0.053
eval/Float64/evaluation_turbo 0.993 ± 0.068 ms 0.989 ± 0.066 ms 1 ± 0.096
eval/Float64/evaluation_turbo_bumper 1.19 ± 0.043 ms 1.18 ± 0.044 ms 1 ± 0.052
utils/combine_operators/break_sharing 0.0424 ± 0.0025 ms 0.0414 ± 0.0021 ms 1.03 ± 0.08
utils/convert/break_sharing 29.5 ± 3.3 μs 29.3 ± 3.3 μs 1.01 ± 0.16
utils/convert/preserve_sharing 0.0998 ± 0.0061 ms 0.101 ± 0.0062 ms 0.984 ± 0.085
utils/copy/break_sharing 29 ± 3.4 μs 29.5 ± 3.5 μs 0.982 ± 0.16
utils/copy/preserve_sharing 0.1 ± 0.0057 ms 0.102 ± 0.0058 ms 0.983 ± 0.079
utils/count_constant_nodes/break_sharing 13.3 ± 1.7 μs 13.8 ± 1.6 μs 0.964 ± 0.17
utils/count_constant_nodes/preserve_sharing 0.0846 ± 0.0041 ms 0.0871 ± 0.0042 ms 0.971 ± 0.067
utils/count_depth/break_sharing 13.7 ± 1.6 μs 14.7 ± 1.3 μs 0.934 ± 0.13
utils/count_nodes/break_sharing 12.7 ± 1.2 μs 12.3 ± 1.1 μs 1.03 ± 0.13
utils/count_nodes/preserve_sharing 0.0851 ± 0.0038 ms 0.0862 ± 0.0041 ms 0.987 ± 0.064
utils/get_set_constants!/break_sharing 0.0335 ± 0.0027 ms 0.0336 ± 0.0027 ms 0.998 ± 0.11
utils/get_set_constants!/preserve_sharing 0.179 ± 0.0091 ms 0.182 ± 0.0092 ms 0.985 ± 0.07
utils/get_set_constants_parametric 0.0502 ± 0.0056 ms 0.0502 ± 0.0048 ms 0.999 ± 0.15
utils/has_constants/break_sharing 7.18 ± 0.87 μs 7.62 ± 1 μs 0.942 ± 0.17
utils/has_operators/break_sharing 2.22 ± 0.16 μs 2.49 ± 0.15 μs 0.892 ± 0.084
utils/hash/break_sharing 24.7 ± 2.3 μs 23.9 ± 3.1 μs 1.03 ± 0.17
utils/hash/preserve_sharing 0.0972 ± 0.0045 ms 0.0992 ± 0.0046 ms 0.979 ± 0.064
utils/index_constant_nodes/break_sharing 30 ± 2.7 μs 30.2 ± 2.9 μs 0.995 ± 0.13
utils/index_constant_nodes/preserve_sharing 0.102 ± 0.0051 ms 0.104 ± 0.0047 ms 0.986 ± 0.067
utils/is_constant/break_sharing 8.03 ± 0.95 μs 8.25 ± 0.98 μs 0.973 ± 0.16
utils/simplify_tree/break_sharing 25.8 ± 2.4 μs 26.5 ± 2.1 μs 0.975 ± 0.12
utils/simplify_tree/preserve_sharing 0.107 ± 0.0055 ms 0.109 ± 0.0048 ms 0.988 ± 0.067
utils/string_tree/break_sharing 0.473 ± 0.019 ms 0.478 ± 0.02 ms 0.989 ± 0.057
utils/string_tree/preserve_sharing 0.569 ± 0.019 ms 0.574 ± 0.022 ms 0.991 ± 0.051
time_to_load 0.227 ± 0.0012 s 0.23 ± 0.0026 s 0.989 ± 0.012
Memory benchmarks
master 002be14... master / 002be14...
eval/ComplexF32/evaluation 0.96 k allocs: 2.46 MB 0.969 k allocs: 2.48 MB 0.991
eval/ComplexF64/evaluation 0.993 k allocs: 5.06 MB 0.978 k allocs: 4.98 MB 1.02
eval/Float32/derivative 4.69 k allocs: 17.7 MB 4.63 k allocs: 17.4 MB 1.01
eval/Float32/derivative_turbo 4.61 k allocs: 17.4 MB 4.68 k allocs: 17.6 MB 0.986
eval/Float32/evaluation 0.987 k allocs: 1.29 MB 0.981 k allocs: 1.28 MB 1.01
eval/Float32/evaluation_bumper 0.303 k allocs: 0.393 MB 0.303 k allocs: 0.393 MB 1
eval/Float32/evaluation_turbo 0.966 k allocs: 1.26 MB 0.969 k allocs: 1.26 MB 0.997
eval/Float32/evaluation_turbo_bumper 0.303 k allocs: 0.393 MB 0.303 k allocs: 0.393 MB 1
eval/Float64/derivative 4.81 k allocs: 0.0352 GB 4.8 k allocs: 0.0351 GB 1
eval/Float64/derivative_turbo 4.69 k allocs: 0.0343 GB 4.83 k allocs: 0.0353 GB 0.972
eval/Float64/evaluation 1.01 k allocs: 2.59 MB 0.999 k allocs: 2.56 MB 1.01
eval/Float64/evaluation_bumper 0.303 k allocs: 0.771 MB 0.303 k allocs: 0.771 MB 1
eval/Float64/evaluation_turbo 0.981 k allocs: 2.51 MB 0.999 k allocs: 2.56 MB 0.982
eval/Float64/evaluation_turbo_bumper 0.303 k allocs: 0.771 MB 0.303 k allocs: 0.771 MB 1
utils/combine_operators/break_sharing 4 allocs: 0.953 kB 4 allocs: 0.953 kB 1
utils/convert/break_sharing 2 k allocs: 0.123 MB 2 k allocs: 0.123 MB 1
utils/convert/preserve_sharing 2.4 k allocs: 0.192 MB 2.4 k allocs: 0.192 MB 1
utils/copy/break_sharing 2 k allocs: 0.123 MB 2 k allocs: 0.123 MB 1
utils/copy/preserve_sharing 2.4 k allocs: 0.192 MB 2.4 k allocs: 0.192 MB 1
utils/count_constant_nodes/break_sharing 4 allocs: 0.953 kB 4 allocs: 0.953 kB 1
utils/count_constant_nodes/preserve_sharing 0.404 k allocs: 0.0696 MB 0.404 k allocs: 0.0696 MB 1
utils/count_depth/break_sharing 4 allocs: 0.953 kB 4 allocs: 0.953 kB 1
utils/count_nodes/break_sharing 4 allocs: 0.953 kB 4 allocs: 0.953 kB 1
utils/count_nodes/preserve_sharing 0.404 k allocs: 0.0696 MB 0.404 k allocs: 0.0696 MB 1
utils/get_set_constants!/break_sharing 0.898 k allocs: 25.2 kB 0.898 k allocs: 25.2 kB 1
utils/get_set_constants!/preserve_sharing 1.7 k allocs: 0.138 MB 1.7 k allocs: 0.138 MB 1
utils/get_set_constants_parametric 1.42 k allocs: 0.0663 MB 1.42 k allocs: 0.0663 MB 1
utils/has_constants/break_sharing 4 allocs: 0.203 kB 4 allocs: 0.203 kB 1
utils/has_operators/break_sharing 4 allocs: 0.203 kB 4 allocs: 0.203 kB 1
utils/hash/break_sharing 0.104 k allocs: 2.52 kB 0.104 k allocs: 2.52 kB 1
utils/hash/preserve_sharing 0.504 k allocs: 0.0711 MB 0.504 k allocs: 0.0711 MB 1
utils/index_constant_nodes/break_sharing 2.1 k allocs: 0.094 MB 2.1 k allocs: 0.094 MB 1
utils/index_constant_nodes/preserve_sharing 2.5 k allocs: 0.163 MB 2.5 k allocs: 0.163 MB 1
utils/is_constant/break_sharing 4 allocs: 0.203 kB 4 allocs: 0.203 kB 1
utils/simplify_tree/break_sharing 4 allocs: 0.953 kB 4 allocs: 0.953 kB 1
utils/simplify_tree/preserve_sharing 0.404 k allocs: 0.0696 MB 0.404 k allocs: 0.0696 MB 1
utils/string_tree/break_sharing 11.8 k allocs: 1.04 MB 11.8 k allocs: 1.04 MB 1
utils/string_tree/preserve_sharing 12.2 k allocs: 1.11 MB 12.2 k allocs: 1.11 MB 1
time_to_load 0.159 k allocs: 11.2 kB 0.159 k allocs: 11.2 kB 1

@MilesCranmer MilesCranmer merged commit 7badcc1 into master Jun 20, 2025
13 of 14 checks passed
@MilesCranmer MilesCranmer deleted the fix-recursive-interest branch June 20, 2025 11:20
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.

1 participant