JSAbrahams / mamba

🐍 The Mamba programming language, because we care about safety
MIT License
85 stars 3 forks source link

Tuples and none #71

Closed JSAbrahams closed 5 years ago

JSAbrahams commented 5 years ago

Relevant issues

Fixes #64

Summary

Add state to desugar stage. Now we track whether we are indeed assigning to a tuple or not. The state also allows us to check whether we need to return a tuple in sub-expressions, for instance at the end of a do-block for instance. As we flesh out the desugarer these properties will become more important.

Added Tests

Test to check whether an empty assign to a tuple results in assigning a tuple of None.

Additional Context

...

codecov[bot] commented 5 years ago

Codecov Report

Merging #71 into master will increase coverage by 0.05%. The diff coverage is 85.71%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master      #71      +/-   ##
==========================================
+ Coverage   79.98%   80.03%   +0.05%     
==========================================
  Files          58       59       +1     
  Lines        3852     3947      +95     
==========================================
+ Hits         3081     3159      +78     
- Misses        771      788      +17
Impacted Files Coverage Ξ”
tests/command.rs 85.36% <ΓΈ> (ΓΈ) :arrow_up:
src/desugar/mod.rs 100% <100%> (ΓΈ) :arrow_up:
src/desugar/context.rs 100% <100%> (ΓΈ)
src/desugar/common.rs 100% <100%> (ΓΈ)
src/desugar/call.rs 72.72% <100%> (ΓΈ) :arrow_up:
tests/desugar/expression_and_statements.rs 89.61% <100%> (ΓΈ) :arrow_up:
src/core/construct.rs 19.58% <100%> (+1.03%) :arrow_up:
src/desugar/node.rs 68.11% <81.05%> (-1.36%) :arrow_down:
src/desugar/control_flow.rs 78.78% <82.6%> (-8.72%) :arrow_down:
src/core/mod.rs 64.19% <84.61%> (+0.32%) :arrow_up:
... and 6 more

Continue to review full report at Codecov.

Legend - Click here to learn more Ξ” = absolute <relative> (impact), ΓΈ = not affected, ? = missing data Powered by Codecov. Last update d7fc7c4...e581c49. Read the comment docs.