lambdaclass / concrete

Concrete is a simple programming language specifically crafted for creating highly scalable systems that are reliable, efficient, and easy to maintain.
Apache License 2.0
123 stars 11 forks source link

Add more type and mutability checks #124

Closed edg-l closed 4 months ago

edg-l commented 4 months ago

Checks if a variable is declared mutable and if not, if its being mutated.

Checks for valid mutable borrows (but doesnt check for multiple mutable borrows yet).

image

image

github-actions[bot] commented 4 months ago

Benchmarking factorial

Compiling factorial (factorial.con) Finished release in 29.635568ms Running 5000000 iterations Using input value: 20 Concrete Result = 2432902008176640000 Time taken : 59.21 ms Rust Result = 2432902008176640000 Time taken : 60.12 ms

Benchmarking fib

Compiling fib (fib.con) Finished release in 25.358815ms Running 5000 iterations Using input value: 20 Concrete Result = 6765 Time taken : 136.23 ms Rust Result = 6765 Time taken : 85.19 ms

codecov-commenter commented 4 months ago

Codecov Report

Attention: Patch coverage is 58.92857% with 46 lines in your changes are missing coverage. Please review.

Project coverage is 58.44%. Comparing base (bd93e07) to head (bfc07ea).

Files Patch % Lines
crates/concrete_check/src/lib.rs 0.00% 40 Missing :warning:
crates/concrete_ir/src/lib.rs 87.50% 4 Missing :warning:
crates/concrete_ir/src/lowering.rs 95.00% 2 Missing :warning:
Additional details and impacted files ```diff @@ Coverage Diff @@ ## main #124 +/- ## ========================================== - Coverage 58.64% 58.44% -0.20% ========================================== Files 25 25 Lines 4258 4361 +103 ========================================== + Hits 2497 2549 +52 - Misses 1761 1812 +51 ```

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.