Skip to content
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

Add support iterating references to iterables #2876

Merged
merged 7 commits into from
Oct 24, 2023

Conversation

SupunS
Copy link
Member

@SupunS SupunS commented Oct 17, 2023

Closes #2784

Description

Allow using array references in for loops.

for v in arrayRef {}

For an array of type [T], the type of the loop-variable v would be:

  • The concrete type T, if the array element type T is a primitive.
  • A reference type &T, if the array element is a container type.

This is to be consistent with the member access semantics: https://github.com/onflow/flips/blob/120b8aa473e5040db2b99034d2118fb78d053cdf/cadence/20230517-member-access-semnatics.md


  • Targeted PR against master branch
  • Linked to Github issue with discussion and accepted design OR link to spec that describes this work
  • Code follows the standards mentioned here
  • Updated relevant documentation
  • Re-reviewed Files changed in the Github PR explorer
  • Added appropriate labels

@SupunS SupunS added the Feature label Oct 17, 2023
@SupunS SupunS self-assigned this Oct 17, 2023
@SupunS SupunS force-pushed the supun/loop-references branch from f13e9bd to 9162f3e Compare October 17, 2023 17:20
@github-actions
Copy link

github-actions bot commented Oct 17, 2023

Cadence Benchstat comparison

This branch with compared with the base branch onflow:feature/stable-cadence commit 0bfd2c0
The command for i in {1..N}; do go test ./... -run=XXX -bench=. -benchmem -shuffle=on; done was used.
Bench tests were run a total of 7 times on each branch.

Collapsed results for better readability

old.txtnew.txt
time/opdelta
DecodeBatchEventsCCF-2192ms ± 0%192ms ± 0%~(p=1.000 n=1+1)
DecodeBatchEventsJSON-2580ms ± 0%602ms ± 0%~(p=1.000 n=1+1)
DecodeCCF/FlowFees.FeesDeducted-24.27µs ± 0%4.38µs ± 0%~(p=1.000 n=1+1)
DecodeCCF/FlowFees.TokensWithdrawn-23.13µs ± 0%3.20µs ± 0%~(p=1.000 n=1+1)
DecodeCCF/FlowIDTableStaking.DelegatorRewardsPaid-24.20µs ± 0%4.22µs ± 0%~(p=1.000 n=1+1)
DecodeCCF/FlowIDTableStaking.EpochTotalRewardsPaid-24.82µs ± 0%4.86µs ± 0%~(p=1.000 n=1+1)
DecodeCCF/FlowIDTableStaking.NewWeeklyPayout-23.20µs ± 0%3.24µs ± 0%~(p=1.000 n=1+1)
DecodeCCF/FlowIDTableStaking.RewardsPaid-23.74µs ± 0%3.77µs ± 0%~(p=1.000 n=1+1)
DecodeCCF/FlowToken.TokensDeposited-23.82µs ± 0%3.93µs ± 0%~(p=1.000 n=1+1)
DecodeCCF/FlowToken.TokensDeposited_with_nil_receiver-23.73µs ± 0%3.76µs ± 0%~(p=1.000 n=1+1)
DecodeCCF/FlowToken.TokensMinted-23.17µs ± 0%3.39µs ± 0%~(p=1.000 n=1+1)
DecodeCCF/FlowToken.TokensWithdrawn-23.88µs ± 0%3.93µs ± 0%~(p=1.000 n=1+1)
DecodeJSON/FlowFees.FeesDeducted-214.5µs ± 0%14.7µs ± 0%~(p=1.000 n=1+1)
DecodeJSON/FlowFees.TokensWithdrawn-28.22µs ± 0%8.28µs ± 0%~(p=1.000 n=1+1)
DecodeJSON/FlowIDTableStaking.DelegatorRewardsPaid-212.9µs ± 0%13.0µs ± 0%~(p=1.000 n=1+1)
DecodeJSON/FlowIDTableStaking.EpochTotalRewardsPaid-218.3µs ± 0%18.2µs ± 0%~(p=1.000 n=1+1)
DecodeJSON/FlowIDTableStaking.NewWeeklyPayout-28.40µs ± 0%8.50µs ± 0%~(p=1.000 n=1+1)
DecodeJSON/FlowIDTableStaking.RewardsPaid-210.9µs ± 0%10.9µs ± 0%~(p=1.000 n=1+1)
DecodeJSON/FlowToken.TokensDeposited-211.5µs ± 0%11.6µs ± 0%~(p=1.000 n=1+1)
DecodeJSON/FlowToken.TokensDeposited_with_nil_receiver-210.4µs ± 0%10.5µs ± 0%~(p=1.000 n=1+1)
DecodeJSON/FlowToken.TokensMinted-28.46µs ± 0%8.35µs ± 0%~(p=1.000 n=1+1)
DecodeJSON/FlowToken.TokensWithdrawn-211.7µs ± 0%11.6µs ± 0%~(p=1.000 n=1+1)
EncodeBatchEventsCCF-2132ms ± 0%132ms ± 0%~(p=1.000 n=1+1)
EncodeBatchEventsJSON-2158ms ± 0%162ms ± 0%~(p=1.000 n=1+1)
EncodeCCF/FlowFees.FeesDeducted-22.95µs ± 0%4.42µs ± 0%~(p=1.000 n=1+1)
EncodeCCF/FlowFees.TokensWithdrawn-22.25µs ± 0%3.50µs ± 0%~(p=1.000 n=1+1)
EncodeCCF/FlowIDTableStaking.DelegatorRewardsPaid-22.83µs ± 0%4.37µs ± 0%~(p=1.000 n=1+1)
EncodeCCF/FlowIDTableStaking.EpochTotalRewardsPaid-23.33µs ± 0%4.82µs ± 0%~(p=1.000 n=1+1)
EncodeCCF/FlowIDTableStaking.NewWeeklyPayout-22.30µs ± 0%4.17µs ± 0%~(p=1.000 n=1+1)
EncodeCCF/FlowIDTableStaking.RewardsPaid-22.51µs ± 0%4.13µs ± 0%~(p=1.000 n=1+1)
EncodeCCF/FlowToken.TokensDeposited-22.62µs ± 0%2.63µs ± 0%~(p=1.000 n=1+1)
EncodeCCF/FlowToken.TokensDeposited_with_nil_receiver-22.58µs ± 0%2.60µs ± 0%~(p=1.000 n=1+1)
EncodeCCF/FlowToken.TokensMinted-22.24µs ± 0%2.26µs ± 0%~(p=1.000 n=1+1)
EncodeCCF/FlowToken.TokensWithdrawn-22.63µs ± 0%2.64µs ± 0%~(p=1.000 n=1+1)
EncodeJSON/FlowFees.FeesDeducted-25.21µs ± 0%3.89µs ± 0%~(p=1.000 n=1+1)
EncodeJSON/FlowFees.TokensWithdrawn-23.38µs ± 0%2.14µs ± 0%~(p=1.000 n=1+1)
EncodeJSON/FlowIDTableStaking.DelegatorRewardsPaid-24.67µs ± 0%3.46µs ± 0%~(p=1.000 n=1+1)
EncodeJSON/FlowIDTableStaking.EpochTotalRewardsPaid-26.37µs ± 0%4.93µs ± 0%~(p=1.000 n=1+1)
EncodeJSON/FlowIDTableStaking.NewWeeklyPayout-22.54µs ± 0%2.20µs ± 0%~(p=1.000 n=1+1)
EncodeJSON/FlowIDTableStaking.RewardsPaid-22.86µs ± 0%2.94µs ± 0%~(p=1.000 n=1+1)
EncodeJSON/FlowToken.TokensDeposited-23.21µs ± 0%3.30µs ± 0%~(p=1.000 n=1+1)
EncodeJSON/FlowToken.TokensDeposited_with_nil_receiver-22.56µs ± 0%2.63µs ± 0%~(p=1.000 n=1+1)
EncodeJSON/FlowToken.TokensMinted-22.13µs ± 0%2.16µs ± 0%~(p=1.000 n=1+1)
EncodeJSON/FlowToken.TokensWithdrawn-23.15µs ± 0%3.28µs ± 0%~(p=1.000 n=1+1)
ExportType/composite_type-2506ns ± 0%510ns ± 0%~(p=1.000 n=1+1)
ExportType/simple_type-2114ns ± 0%114ns ± 0%~(p=1.000 n=1+1)
InterpretRecursionFib-22.85ms ± 0%2.95ms ± 0%~(p=1.000 n=1+1)
NewInterpreter/new_interpreter-21.53µs ± 0%1.51µs ± 0%~(p=1.000 n=1+1)
NewInterpreter/new_sub-interpreter-2798ns ± 0%786ns ± 0%~(p=1.000 n=1+1)
ParseArray-29.60ms ± 0%9.91ms ± 0%~(p=1.000 n=1+1)
ParseDeploy/byte_array-214.8ms ± 0%14.8ms ± 0%~(p=1.000 n=1+1)
ParseDeploy/decode_hex-21.55ms ± 0%1.63ms ± 0%~(p=1.000 n=1+1)
ParseFungibleToken/With_memory_metering-2242µs ± 0%242µs ± 0%~(p=1.000 n=1+1)
ParseFungibleToken/Without_memory_metering-2190µs ± 0%189µs ± 0%~(p=1.000 n=1+1)
ParseInfix-28.76µs ± 0%8.24µs ± 0%~(p=1.000 n=1+1)
QualifiedIdentifierCreation/One_level-22.82ns ± 0%2.80ns ± 0%~(p=1.000 n=1+1)
QualifiedIdentifierCreation/Three_levels-2147ns ± 0%148ns ± 0%~(p=1.000 n=1+1)
RuntimeScriptNoop-25.71µs ± 0%5.66µs ± 0%~(p=1.000 n=1+1)
SuperTypeInference/arrays-2435ns ± 0%431ns ± 0%~(p=1.000 n=1+1)
SuperTypeInference/composites-2180ns ± 0%175ns ± 0%~(p=1.000 n=1+1)
SuperTypeInference/integers-2202ns ± 0%193ns ± 0%~(p=1.000 n=1+1)
ValueIsSubtypeOfSemaType-2118ns ± 0%113ns ± 0%~(p=1.000 n=1+1)
 
alloc/opdelta
DecodeBatchEventsCCF-266.1MB ± 0%66.1MB ± 0%~(p=1.000 n=1+1)
DecodeBatchEventsJSON-2244MB ± 0%244MB ± 0%~(p=1.000 n=1+1)
DecodeCCF/FlowFees.FeesDeducted-21.39kB ± 0%1.39kB ± 0%~(all equal)
DecodeCCF/FlowFees.TokensWithdrawn-21.20kB ± 0%1.20kB ± 0%~(all equal)
DecodeCCF/FlowIDTableStaking.DelegatorRewardsPaid-21.47kB ± 0%1.47kB ± 0%~(all equal)
DecodeCCF/FlowIDTableStaking.EpochTotalRewardsPaid-21.48kB ± 0%1.48kB ± 0%~(all equal)
DecodeCCF/FlowIDTableStaking.NewWeeklyPayout-21.25kB ± 0%1.25kB ± 0%~(all equal)
DecodeCCF/FlowIDTableStaking.RewardsPaid-21.37kB ± 0%1.37kB ± 0%~(all equal)
DecodeCCF/FlowToken.TokensDeposited-21.31kB ± 0%1.31kB ± 0%~(all equal)
DecodeCCF/FlowToken.TokensDeposited_with_nil_receiver-21.30kB ± 0%1.30kB ± 0%~(all equal)
DecodeCCF/FlowToken.TokensMinted-21.20kB ± 0%1.20kB ± 0%~(all equal)
DecodeCCF/FlowToken.TokensWithdrawn-21.32kB ± 0%1.32kB ± 0%~(all equal)
DecodeJSON/FlowFees.FeesDeducted-26.00kB ± 0%6.00kB ± 0%~(all equal)
DecodeJSON/FlowFees.TokensWithdrawn-23.60kB ± 0%3.60kB ± 0%~(all equal)
DecodeJSON/FlowIDTableStaking.DelegatorRewardsPaid-25.43kB ± 0%5.43kB ± 0%~(all equal)
DecodeJSON/FlowIDTableStaking.EpochTotalRewardsPaid-27.35kB ± 0%7.35kB ± 0%~(all equal)
DecodeJSON/FlowIDTableStaking.NewWeeklyPayout-23.64kB ± 0%3.64kB ± 0%~(all equal)
DecodeJSON/FlowIDTableStaking.RewardsPaid-24.54kB ± 0%4.54kB ± 0%~(all equal)
DecodeJSON/FlowToken.TokensDeposited-24.88kB ± 0%4.88kB ± 0%~(all equal)
DecodeJSON/FlowToken.TokensDeposited_with_nil_receiver-24.46kB ± 0%4.46kB ± 0%~(all equal)
DecodeJSON/FlowToken.TokensMinted-23.60kB ± 0%3.60kB ± 0%~(all equal)
DecodeJSON/FlowToken.TokensWithdrawn-24.88kB ± 0%4.88kB ± 0%~(all equal)
EncodeBatchEventsCCF-262.4MB ± 0%62.4MB ± 0%~(p=1.000 n=1+1)
EncodeBatchEventsJSON-239.1MB ± 0%39.1MB ± 0%~(p=1.000 n=1+1)
EncodeCCF/FlowFees.FeesDeducted-21.22kB ± 0%1.22kB ± 0%~(all equal)
EncodeCCF/FlowFees.TokensWithdrawn-21.17kB ± 0%1.17kB ± 0%~(all equal)
EncodeCCF/FlowIDTableStaking.DelegatorRewardsPaid-21.44kB ± 0%1.44kB ± 0%~(all equal)
EncodeCCF/FlowIDTableStaking.EpochTotalRewardsPaid-21.41kB ± 0%1.41kB ± 0%~(all equal)
EncodeCCF/FlowIDTableStaking.NewWeeklyPayout-21.34kB ± 0%1.34kB ± 0%~(all equal)
EncodeCCF/FlowIDTableStaking.RewardsPaid-21.42kB ± 0%1.42kB ± 0%~(all equal)
EncodeCCF/FlowToken.TokensDeposited-21.22kB ± 0%1.22kB ± 0%~(all equal)
EncodeCCF/FlowToken.TokensDeposited_with_nil_receiver-21.20kB ± 0%1.20kB ± 0%~(all equal)
EncodeCCF/FlowToken.TokensMinted-21.17kB ± 0%1.17kB ± 0%~(all equal)
EncodeCCF/FlowToken.TokensWithdrawn-21.22kB ± 0%1.22kB ± 0%~(all equal)
EncodeJSON/FlowFees.FeesDeducted-2864B ± 0%864B ± 0%~(all equal)
EncodeJSON/FlowFees.TokensWithdrawn-2504B ± 0%504B ± 0%~(all equal)
EncodeJSON/FlowIDTableStaking.DelegatorRewardsPaid-2888B ± 0%888B ± 0%~(all equal)
EncodeJSON/FlowIDTableStaking.EpochTotalRewardsPaid-21.08kB ± 0%1.08kB ± 0%~(all equal)
EncodeJSON/FlowIDTableStaking.NewWeeklyPayout-2552B ± 0%552B ± 0%~(all equal)
EncodeJSON/FlowIDTableStaking.RewardsPaid-2752B ± 0%752B ± 0%~(all equal)
EncodeJSON/FlowToken.TokensDeposited-2776B ± 0%776B ± 0%~(all equal)
EncodeJSON/FlowToken.TokensDeposited_with_nil_receiver-2640B ± 0%640B ± 0%~(all equal)
EncodeJSON/FlowToken.TokensMinted-2512B ± 0%512B ± 0%~(all equal)
EncodeJSON/FlowToken.TokensWithdrawn-2768B ± 0%768B ± 0%~(all equal)
ExportType/composite_type-2120B ± 0%120B ± 0%~(all equal)
ExportType/simple_type-20.00B 0.00B ~(all equal)
InterpretRecursionFib-21.00MB ± 0%1.00MB ± 0%~(p=1.000 n=1+1)
NewInterpreter/new_interpreter-2928B ± 0%928B ± 0%~(all equal)
NewInterpreter/new_sub-interpreter-2200B ± 0%200B ± 0%~(all equal)
ParseArray-22.65MB ± 0%2.92MB ± 0%~(p=1.000 n=1+1)
ParseDeploy/byte_array-24.31MB ± 0%4.31MB ± 0%~(p=1.000 n=1+1)
ParseDeploy/decode_hex-2214kB ± 0%214kB ± 0%~(p=1.000 n=1+1)
ParseFungibleToken/With_memory_metering-229.7kB ± 0%29.7kB ± 0%~(p=1.000 n=1+1)
ParseFungibleToken/Without_memory_metering-229.7kB ± 0%29.7kB ± 0%~(p=1.000 n=1+1)
ParseInfix-21.91kB ± 0%1.91kB ± 0%~(p=1.000 n=1+1)
QualifiedIdentifierCreation/One_level-20.00B 0.00B ~(all equal)
QualifiedIdentifierCreation/Three_levels-264.0B ± 0%64.0B ± 0%~(all equal)
RuntimeScriptNoop-23.21kB ± 0%3.21kB ± 0%~(all equal)
SuperTypeInference/arrays-296.0B ± 0%96.0B ± 0%~(all equal)
SuperTypeInference/composites-20.00B 0.00B ~(all equal)
SuperTypeInference/integers-20.00B 0.00B ~(all equal)
ValueIsSubtypeOfSemaType-248.0B ± 0%48.0B ± 0%~(all equal)
 
allocs/opdelta
DecodeBatchEventsCCF-21.48M ± 0%1.48M ± 0%~(p=1.000 n=1+1)
DecodeBatchEventsJSON-24.70M ± 0%4.70M ± 0%~(p=1.000 n=1+1)
DecodeCCF/FlowFees.FeesDeducted-230.0 ± 0%30.0 ± 0%~(all equal)
DecodeCCF/FlowFees.TokensWithdrawn-226.0 ± 0%26.0 ± 0%~(all equal)
DecodeCCF/FlowIDTableStaking.DelegatorRewardsPaid-230.0 ± 0%30.0 ± 0%~(all equal)
DecodeCCF/FlowIDTableStaking.EpochTotalRewardsPaid-232.0 ± 0%32.0 ± 0%~(all equal)
DecodeCCF/FlowIDTableStaking.NewWeeklyPayout-226.0 ± 0%26.0 ± 0%~(all equal)
DecodeCCF/FlowIDTableStaking.RewardsPaid-229.0 ± 0%29.0 ± 0%~(all equal)
DecodeCCF/FlowToken.TokensDeposited-231.0 ± 0%31.0 ± 0%~(all equal)
DecodeCCF/FlowToken.TokensDeposited_with_nil_receiver-229.0 ± 0%29.0 ± 0%~(all equal)
DecodeCCF/FlowToken.TokensMinted-226.0 ± 0%26.0 ± 0%~(all equal)
DecodeCCF/FlowToken.TokensWithdrawn-231.0 ± 0%31.0 ± 0%~(all equal)
DecodeJSON/FlowFees.FeesDeducted-2126 ± 0%126 ± 0%~(all equal)
DecodeJSON/FlowFees.TokensWithdrawn-271.0 ± 0%71.0 ± 0%~(all equal)
DecodeJSON/FlowIDTableStaking.DelegatorRewardsPaid-2102 ± 0%102 ± 0%~(all equal)
DecodeJSON/FlowIDTableStaking.EpochTotalRewardsPaid-2159 ± 0%159 ± 0%~(all equal)
DecodeJSON/FlowIDTableStaking.NewWeeklyPayout-270.0 ± 0%70.0 ± 0%~(all equal)
DecodeJSON/FlowIDTableStaking.RewardsPaid-287.0 ± 0%87.0 ± 0%~(all equal)
DecodeJSON/FlowToken.TokensDeposited-295.0 ± 0%95.0 ± 0%~(all equal)
DecodeJSON/FlowToken.TokensDeposited_with_nil_receiver-286.0 ± 0%86.0 ± 0%~(all equal)
DecodeJSON/FlowToken.TokensMinted-271.0 ± 0%71.0 ± 0%~(all equal)
DecodeJSON/FlowToken.TokensWithdrawn-295.0 ± 0%95.0 ± 0%~(all equal)
EncodeBatchEventsCCF-2950k ± 0%950k ± 0%~(p=1.000 n=1+1)
EncodeBatchEventsJSON-2853k ± 0%853k ± 0%~(p=1.000 n=1+1)
EncodeCCF/FlowFees.FeesDeducted-219.0 ± 0%19.0 ± 0%~(all equal)
EncodeCCF/FlowFees.TokensWithdrawn-219.0 ± 0%19.0 ± 0%~(all equal)
EncodeCCF/FlowIDTableStaking.DelegatorRewardsPaid-219.0 ± 0%19.0 ± 0%~(all equal)
EncodeCCF/FlowIDTableStaking.EpochTotalRewardsPaid-219.0 ± 0%19.0 ± 0%~(all equal)
EncodeCCF/FlowIDTableStaking.NewWeeklyPayout-219.0 ± 0%19.0 ± 0%~(all equal)
EncodeCCF/FlowIDTableStaking.RewardsPaid-219.0 ± 0%19.0 ± 0%~(all equal)
EncodeCCF/FlowToken.TokensDeposited-220.0 ± 0%20.0 ± 0%~(all equal)
EncodeCCF/FlowToken.TokensDeposited_with_nil_receiver-220.0 ± 0%20.0 ± 0%~(all equal)
EncodeCCF/FlowToken.TokensMinted-219.0 ± 0%19.0 ± 0%~(all equal)
EncodeCCF/FlowToken.TokensWithdrawn-220.0 ± 0%20.0 ± 0%~(all equal)
EncodeJSON/FlowFees.FeesDeducted-219.0 ± 0%19.0 ± 0%~(all equal)
EncodeJSON/FlowFees.TokensWithdrawn-212.0 ± 0%12.0 ± 0%~(all equal)
EncodeJSON/FlowIDTableStaking.DelegatorRewardsPaid-216.0 ± 0%16.0 ± 0%~(all equal)
EncodeJSON/FlowIDTableStaking.EpochTotalRewardsPaid-225.0 ± 0%25.0 ± 0%~(all equal)
EncodeJSON/FlowIDTableStaking.NewWeeklyPayout-212.0 ± 0%12.0 ± 0%~(all equal)
EncodeJSON/FlowIDTableStaking.RewardsPaid-215.0 ± 0%15.0 ± 0%~(all equal)
EncodeJSON/FlowToken.TokensDeposited-219.0 ± 0%19.0 ± 0%~(all equal)
EncodeJSON/FlowToken.TokensDeposited_with_nil_receiver-214.0 ± 0%14.0 ± 0%~(all equal)
EncodeJSON/FlowToken.TokensMinted-213.0 ± 0%13.0 ± 0%~(all equal)
EncodeJSON/FlowToken.TokensWithdrawn-218.0 ± 0%18.0 ± 0%~(all equal)
ExportType/composite_type-23.00 ± 0%3.00 ± 0%~(all equal)
ExportType/simple_type-20.00 0.00 ~(all equal)
InterpretRecursionFib-218.9k ± 0%18.9k ± 0%~(all equal)
NewInterpreter/new_interpreter-215.0 ± 0%15.0 ± 0%~(all equal)
NewInterpreter/new_sub-interpreter-24.00 ± 0%4.00 ± 0%~(all equal)
ParseArray-259.6k ± 0%59.6k ± 0%~(p=1.000 n=1+1)
ParseDeploy/byte_array-289.4k ± 0%89.4k ± 0%~(p=1.000 n=1+1)
ParseDeploy/decode_hex-263.0 ± 0%63.0 ± 0%~(all equal)
ParseFungibleToken/With_memory_metering-2778 ± 0%778 ± 0%~(all equal)
ParseFungibleToken/Without_memory_metering-2778 ± 0%778 ± 0%~(all equal)
ParseInfix-248.0 ± 0%48.0 ± 0%~(all equal)
QualifiedIdentifierCreation/One_level-20.00 0.00 ~(all equal)
QualifiedIdentifierCreation/Three_levels-22.00 ± 0%2.00 ± 0%~(all equal)
RuntimeScriptNoop-251.0 ± 0%51.0 ± 0%~(all equal)
SuperTypeInference/arrays-23.00 ± 0%3.00 ± 0%~(all equal)
SuperTypeInference/composites-20.00 0.00 ~(all equal)
SuperTypeInference/integers-20.00 0.00 ~(all equal)
ValueIsSubtypeOfSemaType-21.00 ± 0%1.00 ± 0%~(all equal)
 

@codecov
Copy link

codecov bot commented Oct 17, 2023

Codecov Report

Attention: 11 lines in your changes are missing coverage. Please review.

Comparison is base (6dc6b38) 79.97% compared to head (e8fbb18) 79.97%.
Report is 7 commits behind head on feature/stable-cadence.

Additional details and impacted files
@@                    Coverage Diff                     @@
##           feature/stable-cadence    #2876      +/-   ##
==========================================================
- Coverage                   79.97%   79.97%   -0.01%     
==========================================================
  Files                         344      344              
  Lines                       81248    81356     +108     
==========================================================
+ Hits                        64980    65064      +84     
- Misses                      13961    13984      +23     
- Partials                     2307     2308       +1     
Flag Coverage Δ
unittests 79.97% <92.19%> (-0.01%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files Coverage Δ
runtime/interpreter/interpreter_statement.go 91.56% <100.00%> (+0.12%) ⬆️
runtime/sema/check_assignment.go 97.28% <100.00%> (ø)
runtime/sema/check_for.go 94.78% <100.00%> (+1.84%) ⬆️
runtime/sema/check_member_expression.go 98.36% <100.00%> (-0.06%) ⬇️
runtime/sema/check_variable_declaration.go 96.06% <100.00%> (ø)
runtime/sema/elaboration.go 73.54% <70.00%> (-0.07%) ⬇️
runtime/interpreter/value.go 67.34% <85.96%> (-0.01%) ⬇️

... and 4 files with indirect coverage changes

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

@SupunS SupunS marked this pull request as ready for review October 17, 2023 19:47
Copy link
Member

@turbolent turbolent left a comment

Choose a reason for hiding this comment

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

Nice!

runtime/sema/check_for.go Show resolved Hide resolved
runtime/sema/check_for.go Show resolved Hide resolved
@SupunS SupunS requested review from turbolent and dsainati1 October 18, 2023 15:55
@SupunS SupunS marked this pull request as draft October 18, 2023 17:01
@SupunS
Copy link
Member Author

SupunS commented Oct 18, 2023

I just realized this need to track resource references.

@SupunS SupunS force-pushed the supun/loop-references branch from f8c5886 to 3ec9749 Compare October 19, 2023 22:46
@SupunS SupunS marked this pull request as ready for review October 19, 2023 23:06
Copy link
Member

@turbolent turbolent left a comment

Choose a reason for hiding this comment

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

Nice 👌

@SupunS SupunS merged commit f6eb669 into feature/stable-cadence Oct 24, 2023
9 of 11 checks passed
@SupunS SupunS deleted the supun/loop-references branch October 24, 2023 23:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants