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

Introduce built-in mutability entitlements #2586

Merged
merged 6 commits into from
Jul 6, 2023

Conversation

SupunS
Copy link
Member

@SupunS SupunS commented Jun 20, 2023

Work towards #2638
Work towards onflow/flips#86

⚠️ Depends on #2573

Description

Introduces three built-in mutability-related entitlements:

  • Insertable
  • Removable
  • Mutable

Note: This PR only introduces these entitlements. Array/dictionary functions still don't use them. That will be added in a follow-up PR.


  • 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 Jun 20, 2023
@SupunS SupunS self-assigned this Jun 20, 2023
@SupunS SupunS mentioned this pull request Jun 20, 2023
6 tasks
@SupunS SupunS marked this pull request as ready for review June 21, 2023 15:14
Copy link
Contributor

@dsainati1 dsainati1 left a comment

Choose a reason for hiding this comment

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

Nice!

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! Great idea to extend the Go code generator to support entitlement declarations, that will come in handy for the Account type refactor 👌

@turbolent
Copy link
Member

We can probably merge this once the FLIP is approved, even if the names are still going to potentially get adjusted later

@SupunS SupunS force-pushed the supun/member-access-semantics branch from 9a64a7f to 7cfcc05 Compare June 23, 2023 21:56
Base automatically changed from supun/member-access-semantics to feature/mutability-restrictions July 6, 2023 16:42
@github-actions
Copy link

github-actions bot commented Jul 6, 2023

Cadence Benchstat comparison

This branch with compared with the base branch onflow:feature/mutability-restrictions commit 2a08798
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
CheckContractInterfaceFungibleTokenConformance-2124µs ± 0%126µs ± 0%~(p=1.000 n=1+1)
ContractInterfaceFungibleToken-242.3µs ± 0%41.5µs ± 0%~(p=1.000 n=1+1)
DecodeBatchEventsCCF-2152ms ± 0%154ms ± 0%~(p=1.000 n=1+1)
DecodeBatchEventsJSON-2502ms ± 0%500ms ± 0%~(p=1.000 n=1+1)
DecodeCCF/FlowFees.FeesDeducted-23.44µs ± 0%3.22µs ± 0%~(p=1.000 n=1+1)
DecodeCCF/FlowFees.TokensWithdrawn-22.48µs ± 0%2.51µs ± 0%~(p=1.000 n=1+1)
DecodeCCF/FlowIDTableStaking.DelegatorRewardsPaid-23.31µs ± 0%3.34µs ± 0%~(p=1.000 n=1+1)
DecodeCCF/FlowIDTableStaking.EpochTotalRewardsPaid-23.47µs ± 0%3.52µs ± 0%~(p=1.000 n=1+1)
DecodeCCF/FlowIDTableStaking.NewWeeklyPayout-22.50µs ± 0%2.55µs ± 0%~(p=1.000 n=1+1)
DecodeCCF/FlowIDTableStaking.RewardsPaid-23.00µs ± 0%3.01µs ± 0%~(p=1.000 n=1+1)
DecodeCCF/FlowToken.TokensDeposited-23.06µs ± 0%3.07µs ± 0%~(p=1.000 n=1+1)
DecodeCCF/FlowToken.TokensDeposited_with_nil_receiver-22.97µs ± 0%3.00µs ± 0%~(p=1.000 n=1+1)
DecodeCCF/FlowToken.TokensMinted-22.50µs ± 0%2.50µs ± 0%~(p=1.000 n=1+1)
DecodeCCF/FlowToken.TokensWithdrawn-23.08µs ± 0%3.08µs ± 0%~(p=1.000 n=1+1)
DecodeJSON/FlowFees.FeesDeducted-219.6µs ± 0%12.6µs ± 0%~(p=1.000 n=1+1)
DecodeJSON/FlowFees.TokensWithdrawn-210.6µs ± 0%7.2µs ± 0%~(p=1.000 n=1+1)
DecodeJSON/FlowIDTableStaking.DelegatorRewardsPaid-212.8µs ± 0%11.2µs ± 0%~(p=1.000 n=1+1)
DecodeJSON/FlowIDTableStaking.EpochTotalRewardsPaid-215.8µs ± 0%16.0µs ± 0%~(p=1.000 n=1+1)
DecodeJSON/FlowIDTableStaking.NewWeeklyPayout-27.35µs ± 0%7.32µs ± 0%~(p=1.000 n=1+1)
DecodeJSON/FlowIDTableStaking.RewardsPaid-29.43µs ± 0%9.38µs ± 0%~(p=1.000 n=1+1)
DecodeJSON/FlowToken.TokensDeposited-210.0µs ± 0%10.0µs ± 0%~(p=1.000 n=1+1)
DecodeJSON/FlowToken.TokensDeposited_with_nil_receiver-29.05µs ± 0%9.02µs ± 0%~(p=1.000 n=1+1)
DecodeJSON/FlowToken.TokensMinted-27.27µs ± 0%7.40µs ± 0%~(p=1.000 n=1+1)
DecodeJSON/FlowToken.TokensWithdrawn-210.3µs ± 0%9.9µs ± 0%~(p=1.000 n=1+1)
EncodeBatchEventsCCF-2106ms ± 0%69ms ± 0%~(p=1.000 n=1+1)
EncodeBatchEventsJSON-2135ms ± 0%178ms ± 0%~(p=1.000 n=1+1)
EncodeCCF/FlowFees.FeesDeducted-21.42µs ± 0%2.12µs ± 0%~(p=1.000 n=1+1)
EncodeCCF/FlowFees.TokensWithdrawn-21.17µs ± 0%1.92µs ± 0%~(p=1.000 n=1+1)
EncodeCCF/FlowIDTableStaking.DelegatorRewardsPaid-21.45µs ± 0%2.51µs ± 0%~(p=1.000 n=1+1)
EncodeCCF/FlowIDTableStaking.EpochTotalRewardsPaid-21.56µs ± 0%2.16µs ± 0%~(p=1.000 n=1+1)
EncodeCCF/FlowIDTableStaking.NewWeeklyPayout-21.19µs ± 0%1.17µs ± 0%~(p=1.000 n=1+1)
EncodeCCF/FlowIDTableStaking.RewardsPaid-21.32µs ± 0%1.33µs ± 0%~(p=1.000 n=1+1)
EncodeCCF/FlowToken.TokensDeposited-21.41µs ± 0%1.41µs ± 0%~(p=1.000 n=1+1)
EncodeCCF/FlowToken.TokensDeposited_with_nil_receiver-21.39µs ± 0%1.38µs ± 0%~(p=1.000 n=1+1)
EncodeCCF/FlowToken.TokensMinted-21.17µs ± 0%1.17µs ± 0%~(all equal)
EncodeCCF/FlowToken.TokensWithdrawn-21.42µs ± 0%1.41µs ± 0%~(p=1.000 n=1+1)
EncodeJSON/FlowFees.FeesDeducted-23.18µs ± 0%3.24µs ± 0%~(p=1.000 n=1+1)
EncodeJSON/FlowFees.TokensWithdrawn-21.77µs ± 0%1.79µs ± 0%~(p=1.000 n=1+1)
EncodeJSON/FlowIDTableStaking.DelegatorRewardsPaid-22.85µs ± 0%2.87µs ± 0%~(p=1.000 n=1+1)
EncodeJSON/FlowIDTableStaking.EpochTotalRewardsPaid-24.05µs ± 0%4.08µs ± 0%~(p=1.000 n=1+1)
EncodeJSON/FlowIDTableStaking.NewWeeklyPayout-21.80µs ± 0%1.81µs ± 0%~(p=1.000 n=1+1)
EncodeJSON/FlowIDTableStaking.RewardsPaid-22.41µs ± 0%2.40µs ± 0%~(p=1.000 n=1+1)
EncodeJSON/FlowToken.TokensDeposited-22.77µs ± 0%2.79µs ± 0%~(p=1.000 n=1+1)
EncodeJSON/FlowToken.TokensDeposited_with_nil_receiver-22.17µs ± 0%2.17µs ± 0%~(p=1.000 n=1+1)
EncodeJSON/FlowToken.TokensMinted-21.77µs ± 0%1.79µs ± 0%~(p=1.000 n=1+1)
EncodeJSON/FlowToken.TokensWithdrawn-22.74µs ± 0%2.75µs ± 0%~(p=1.000 n=1+1)
ExportType/composite_type-2347ns ± 0%350ns ± 0%~(p=1.000 n=1+1)
ExportType/simple_type-255.5ns ± 0%54.8ns ± 0%~(p=1.000 n=1+1)
InterpretRecursionFib-22.55ms ± 0%2.59ms ± 0%~(p=1.000 n=1+1)
NewInterpreter/new_interpreter-21.30µs ± 0%1.29µs ± 0%~(p=1.000 n=1+1)
NewInterpreter/new_sub-interpreter-2609ns ± 0%616ns ± 0%~(p=1.000 n=1+1)
ParseArray-28.68ms ± 0%8.14ms ± 0%~(p=1.000 n=1+1)
ParseDeploy/byte_array-212.4ms ± 0%12.1ms ± 0%~(p=1.000 n=1+1)
ParseDeploy/decode_hex-21.22ms ± 0%1.28ms ± 0%~(p=1.000 n=1+1)
ParseFungibleToken/With_memory_metering-2199µs ± 0%198µs ± 0%~(p=1.000 n=1+1)
ParseFungibleToken/Without_memory_metering-2157µs ± 0%158µs ± 0%~(p=1.000 n=1+1)
ParseInfix-27.03µs ± 0%7.05µs ± 0%~(p=1.000 n=1+1)
QualifiedIdentifierCreation/One_level-22.35ns ± 0%2.35ns ± 0%~(p=1.000 n=1+1)
QualifiedIdentifierCreation/Three_levels-2137ns ± 0%140ns ± 0%~(p=1.000 n=1+1)
RuntimeResourceDictionaryValues-25.45ms ± 0%5.33ms ± 0%~(p=1.000 n=1+1)
RuntimeScriptNoop-24.89µs ± 0%4.90µs ± 0%~(p=1.000 n=1+1)
SuperTypeInference/arrays-2332ns ± 0%336ns ± 0%~(p=1.000 n=1+1)
SuperTypeInference/composites-2145ns ± 0%145ns ± 0%~(p=1.000 n=1+1)
SuperTypeInference/integers-297.3ns ± 0%95.3ns ± 0%~(p=1.000 n=1+1)
ValueIsSubtypeOfSemaType-2100ns ± 0%89ns ± 0%~(p=1.000 n=1+1)
 
alloc/opdelta
CheckContractInterfaceFungibleTokenConformance-253.5kB ± 0%53.5kB ± 0%~(all equal)
ContractInterfaceFungibleToken-225.9kB ± 0%25.9kB ± 0%~(all equal)
DecodeBatchEventsCCF-267.3MB ± 0%67.3MB ± 0%~(p=1.000 n=1+1)
DecodeBatchEventsJSON-2246MB ± 0%246MB ± 0%~(p=1.000 n=1+1)
DecodeCCF/FlowFees.FeesDeducted-21.41kB ± 0%1.41kB ± 0%~(all equal)
DecodeCCF/FlowFees.TokensWithdrawn-21.22kB ± 0%1.22kB ± 0%~(all equal)
DecodeCCF/FlowIDTableStaking.DelegatorRewardsPaid-21.49kB ± 0%1.49kB ± 0%~(all equal)
DecodeCCF/FlowIDTableStaking.EpochTotalRewardsPaid-21.50kB ± 0%1.50kB ± 0%~(all equal)
DecodeCCF/FlowIDTableStaking.NewWeeklyPayout-21.26kB ± 0%1.26kB ± 0%~(all equal)
DecodeCCF/FlowIDTableStaking.RewardsPaid-21.38kB ± 0%1.38kB ± 0%~(all equal)
DecodeCCF/FlowToken.TokensDeposited-21.34kB ± 0%1.34kB ± 0%~(all equal)
DecodeCCF/FlowToken.TokensDeposited_with_nil_receiver-21.33kB ± 0%1.33kB ± 0%~(all equal)
DecodeCCF/FlowToken.TokensMinted-21.22kB ± 0%1.22kB ± 0%~(all equal)
DecodeCCF/FlowToken.TokensWithdrawn-21.35kB ± 0%1.35kB ± 0%~(all equal)
DecodeJSON/FlowFees.FeesDeducted-26.03kB ± 0%6.03kB ± 0%~(all equal)
DecodeJSON/FlowFees.TokensWithdrawn-23.62kB ± 0%3.62kB ± 0%~(all equal)
DecodeJSON/FlowIDTableStaking.DelegatorRewardsPaid-25.46kB ± 0%5.46kB ± 0%~(all equal)
DecodeJSON/FlowIDTableStaking.EpochTotalRewardsPaid-27.40kB ± 0%7.40kB ± 0%~(all equal)
DecodeJSON/FlowIDTableStaking.NewWeeklyPayout-23.67kB ± 0%3.67kB ± 0%~(all equal)
DecodeJSON/FlowIDTableStaking.RewardsPaid-24.57kB ± 0%4.57kB ± 0%~(all equal)
DecodeJSON/FlowToken.TokensDeposited-24.93kB ± 0%4.93kB ± 0%~(all equal)
DecodeJSON/FlowToken.TokensDeposited_with_nil_receiver-24.50kB ± 0%4.50kB ± 0%~(all equal)
DecodeJSON/FlowToken.TokensMinted-23.63kB ± 0%3.63kB ± 0%~(all equal)
DecodeJSON/FlowToken.TokensWithdrawn-24.91kB ± 0%4.91kB ± 0%~(all equal)
EncodeBatchEventsCCF-237.1MB ± 0%37.1MB ± 0%~(p=1.000 n=1+1)
EncodeBatchEventsJSON-234.0MB ± 0%34.0MB ± 0%~(p=1.000 n=1+1)
EncodeCCF/FlowFees.FeesDeducted-2736B ± 0%736B ± 0%~(all equal)
EncodeCCF/FlowFees.TokensWithdrawn-2688B ± 0%688B ± 0%~(all equal)
EncodeCCF/FlowIDTableStaking.DelegatorRewardsPaid-2800B ± 0%800B ± 0%~(all equal)
EncodeCCF/FlowIDTableStaking.EpochTotalRewardsPaid-2768B ± 0%768B ± 0%~(all equal)
EncodeCCF/FlowIDTableStaking.NewWeeklyPayout-2704B ± 0%704B ± 0%~(all equal)
EncodeCCF/FlowIDTableStaking.RewardsPaid-2784B ± 0%784B ± 0%~(all equal)
EncodeCCF/FlowToken.TokensDeposited-2752B ± 0%752B ± 0%~(all equal)
EncodeCCF/FlowToken.TokensDeposited_with_nil_receiver-2736B ± 0%736B ± 0%~(all equal)
EncodeCCF/FlowToken.TokensMinted-2688B ± 0%688B ± 0%~(all equal)
EncodeCCF/FlowToken.TokensWithdrawn-2752B ± 0%752B ± 0%~(all equal)
EncodeJSON/FlowFees.FeesDeducted-2768B ± 0%768B ± 0%~(all equal)
EncodeJSON/FlowFees.TokensWithdrawn-2408B ± 0%408B ± 0%~(all equal)
EncodeJSON/FlowIDTableStaking.DelegatorRewardsPaid-2760B ± 0%760B ± 0%~(all equal)
EncodeJSON/FlowIDTableStaking.EpochTotalRewardsPaid-2952B ± 0%952B ± 0%~(all equal)
EncodeJSON/FlowIDTableStaking.NewWeeklyPayout-2424B ± 0%424B ± 0%~(all equal)
EncodeJSON/FlowIDTableStaking.RewardsPaid-2624B ± 0%624B ± 0%~(all equal)
EncodeJSON/FlowToken.TokensDeposited-2680B ± 0%680B ± 0%~(all equal)
EncodeJSON/FlowToken.TokensDeposited_with_nil_receiver-2544B ± 0%544B ± 0%~(all equal)
EncodeJSON/FlowToken.TokensMinted-2416B ± 0%416B ± 0%~(all equal)
EncodeJSON/FlowToken.TokensWithdrawn-2672B ± 0%672B ± 0%~(all equal)
ExportType/composite_type-2136B ± 0%136B ± 0%~(all equal)
ExportType/simple_type-20.00B 0.00B ~(all equal)
InterpretRecursionFib-21.00MB ± 0%1.00MB ± 0%~(all equal)
NewInterpreter/new_interpreter-2992B ± 0%992B ± 0%~(all equal)
NewInterpreter/new_sub-interpreter-2200B ± 0%200B ± 0%~(all equal)
ParseArray-22.65MB ± 0%2.73MB ± 0%~(p=1.000 n=1+1)
ParseDeploy/byte_array-24.27MB ± 0%4.09MB ± 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.8kB ± 0%29.8kB ± 0%~(p=1.000 n=1+1)
ParseFungibleToken/Without_memory_metering-229.7kB ± 0%29.7kB ± 0%~(all equal)
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)
RuntimeResourceDictionaryValues-22.29MB ± 0%2.29MB ± 0%~(p=1.000 n=1+1)
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
CheckContractInterfaceFungibleTokenConformance-2850 ± 0%850 ± 0%~(all equal)
ContractInterfaceFungibleToken-2392 ± 0%392 ± 0%~(all equal)
DecodeBatchEventsCCF-21.48M ± 0%1.48M ± 0%~(p=1.000 n=1+1)
DecodeBatchEventsJSON-24.75M ± 0%4.75M ± 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-2129 ± 0%129 ± 0%~(all equal)
DecodeJSON/FlowFees.TokensWithdrawn-272.0 ± 0%72.0 ± 0%~(all equal)
DecodeJSON/FlowIDTableStaking.DelegatorRewardsPaid-2103 ± 0%103 ± 0%~(all equal)
DecodeJSON/FlowIDTableStaking.EpochTotalRewardsPaid-2163 ± 0%163 ± 0%~(all equal)
DecodeJSON/FlowIDTableStaking.NewWeeklyPayout-271.0 ± 0%71.0 ± 0%~(all equal)
DecodeJSON/FlowIDTableStaking.RewardsPaid-288.0 ± 0%88.0 ± 0%~(all equal)
DecodeJSON/FlowToken.TokensDeposited-296.0 ± 0%96.0 ± 0%~(all equal)
DecodeJSON/FlowToken.TokensDeposited_with_nil_receiver-287.0 ± 0%87.0 ± 0%~(all equal)
DecodeJSON/FlowToken.TokensMinted-272.0 ± 0%72.0 ± 0%~(all equal)
DecodeJSON/FlowToken.TokensWithdrawn-296.0 ± 0%96.0 ± 0%~(all equal)
EncodeBatchEventsCCF-2467k ± 0%467k ± 0%~(all equal)
EncodeBatchEventsJSON-2757k ± 0%757k ± 0%~(p=1.000 n=1+1)
EncodeCCF/FlowFees.FeesDeducted-29.00 ± 0%9.00 ± 0%~(all equal)
EncodeCCF/FlowFees.TokensWithdrawn-29.00 ± 0%9.00 ± 0%~(all equal)
EncodeCCF/FlowIDTableStaking.DelegatorRewardsPaid-29.00 ± 0%9.00 ± 0%~(all equal)
EncodeCCF/FlowIDTableStaking.EpochTotalRewardsPaid-29.00 ± 0%9.00 ± 0%~(all equal)
EncodeCCF/FlowIDTableStaking.NewWeeklyPayout-29.00 ± 0%9.00 ± 0%~(all equal)
EncodeCCF/FlowIDTableStaking.RewardsPaid-29.00 ± 0%9.00 ± 0%~(all equal)
EncodeCCF/FlowToken.TokensDeposited-210.0 ± 0%10.0 ± 0%~(all equal)
EncodeCCF/FlowToken.TokensDeposited_with_nil_receiver-210.0 ± 0%10.0 ± 0%~(all equal)
EncodeCCF/FlowToken.TokensMinted-29.00 ± 0%9.00 ± 0%~(all equal)
EncodeCCF/FlowToken.TokensWithdrawn-210.0 ± 0%10.0 ± 0%~(all equal)
EncodeJSON/FlowFees.FeesDeducted-217.0 ± 0%17.0 ± 0%~(all equal)
EncodeJSON/FlowFees.TokensWithdrawn-210.0 ± 0%10.0 ± 0%~(all equal)
EncodeJSON/FlowIDTableStaking.DelegatorRewardsPaid-214.0 ± 0%14.0 ± 0%~(all equal)
EncodeJSON/FlowIDTableStaking.EpochTotalRewardsPaid-223.0 ± 0%23.0 ± 0%~(all equal)
EncodeJSON/FlowIDTableStaking.NewWeeklyPayout-210.0 ± 0%10.0 ± 0%~(all equal)
EncodeJSON/FlowIDTableStaking.RewardsPaid-213.0 ± 0%13.0 ± 0%~(all equal)
EncodeJSON/FlowToken.TokensDeposited-217.0 ± 0%17.0 ± 0%~(all equal)
EncodeJSON/FlowToken.TokensDeposited_with_nil_receiver-212.0 ± 0%12.0 ± 0%~(all equal)
EncodeJSON/FlowToken.TokensMinted-211.0 ± 0%11.0 ± 0%~(all equal)
EncodeJSON/FlowToken.TokensWithdrawn-216.0 ± 0%16.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-216.0 ± 0%16.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)
RuntimeResourceDictionaryValues-237.0k ± 0%37.0k ± 0%~(p=1.000 n=1+1)
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 Jul 6, 2023

Codecov Report

Merging #2586 (0726316) into feature/mutability-restrictions (2a08798) will decrease coverage by 0.06%.
The diff coverage is 39.55%.

❗ Current head 0726316 differs from pull request most recent head 21c47ab. Consider uploading reports for the commit 21c47ab to get more accurate results

@@                         Coverage Diff                         @@
##           feature/mutability-restrictions    #2586      +/-   ##
===================================================================
- Coverage                            78.96%   78.90%   -0.06%     
===================================================================
  Files                                  340      341       +1     
  Lines                                81724    81842     +118     
===================================================================
+ Hits                                 64534    64581      +47     
- Misses                               14834    14904      +70     
- Partials                              2356     2357       +1     
Flag Coverage Δ
unittests 78.90% <39.55%> (-0.06%) ⬇️

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

Impacted Files Coverage Δ
runtime/interpreter/interpreter.go 88.52% <25.00%> (-0.24%) ⬇️
runtime/sema/gen/main.go 84.74% <32.32%> (-4.09%) ⬇️
runtime/sema/type.go 88.76% <83.33%> (+0.07%) ⬆️
runtime/sema/entitlements.gen.go 100.00% <100.00%> (ø)

@SupunS SupunS merged commit 3a298b0 into feature/mutability-restrictions Jul 6, 2023
@SupunS SupunS deleted the supun/builtin-entitlements branch July 6, 2023 17:46
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