Skip to content

Work in progress Rust Front-End #4894

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

Closed

Conversation

BrettSchiff
Copy link

  • Each commit message has a non-empty body, explaining why the change was made.
  • Methods or procedures I have added are documented, following the guidelines provided in CODING_STANDARD.md.
  • The feature or user visible behaviour I have added or modified has been documented in the User Guide in doc/cprover-manual/
  • Regression or unit tests are included, or existing tests cover the modified code (in this case I have detailed which ones those are in the commit message).
  • My commit message includes data points confirming performance improvements (if claimed).
  • My PR is restricted to a single feature or bugfix.
  • White-space or formatting changes outside the feature-related changed lines are in commits of their own.

@BrettSchiff BrettSchiff force-pushed the rust_initial_compilable branch 2 times, most recently from 51364ed to 5abcb5f Compare July 23, 2019 16:48
@BrettSchiff BrettSchiff force-pushed the rust_initial_compilable branch from e0fbe10 to 4f30848 Compare July 24, 2019 18:04
@codecov-io
Copy link

codecov-io commented Jul 24, 2019

Codecov Report

Merging #4894 into develop will decrease coverage by 0.13%.
The diff coverage is 56.23%.

Impacted file tree graph

@@             Coverage Diff             @@
##           develop    #4894      +/-   ##
===========================================
- Coverage    69.26%   69.13%   -0.14%     
===========================================
  Files         1307     1324      +17     
  Lines       108102   109640    +1538     
===========================================
+ Hits         74881    75799     +918     
- Misses       33221    33841     +620     
Impacted Files Coverage Δ
src/jsil/jsil_types.cpp 0.00% <0.00%> (ø)
src/rust/expr2rust.cpp 0.00% <0.00%> (ø)
src/rust/parser.y 69.70% <ø> (ø)
src/rust/rust_types.h 33.33% <33.33%> (ø)
src/rust/rust_parse_tree.cpp 36.36% <36.36%> (ø)
src/rust/scanner.l 37.91% <38.04%> (ø)
src/rust/rust_language.h 42.85% <42.85%> (ø)
src/rust/rust_language.cpp 48.14% <48.14%> (ø)
src/rust/rust_parser.cpp 50.00% <50.00%> (ø)
src/rust/rust_convert.cpp 51.28% <51.28%> (ø)
... and 28 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 3ad2a27...e7483b1. Read the comment docs.

Copy link
Contributor

@allredj allredj left a comment

Choose a reason for hiding this comment

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

⚠️
This PR failed Diffblue compatibility checks (cbmc commit: 4f30848).
Build URL: https://travis-ci.com/diffblue/test-gen/builds/120502297
Status will be re-evaluated on next push.
Common spurious failures include: the cbmc commit has disappeared in the mean time (e.g. in a force-push); the author is not in the list of contributors (e.g. first-time contributors); compatibility was already broken by an earlier merge.

@BrettSchiff BrettSchiff force-pushed the rust_initial_compilable branch 2 times, most recently from 53b4457 to 194b874 Compare July 25, 2019 01:08
Copy link
Contributor

@allredj allredj left a comment

Choose a reason for hiding this comment

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

⚠️
This PR failed Diffblue compatibility checks (cbmc commit: 53b4457).
Build URL: https://travis-ci.com/diffblue/test-gen/builds/120538613
Status will be re-evaluated on next push.
Common spurious failures include: the cbmc commit has disappeared in the mean time (e.g. in a force-push); the author is not in the list of contributors (e.g. first-time contributors); compatibility was already broken by an earlier merge.

Copy link
Contributor

@allredj allredj left a comment

Choose a reason for hiding this comment

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

⚠️
This PR failed Diffblue compatibility checks (cbmc commit: 194b874).
Build URL: https://travis-ci.com/diffblue/test-gen/builds/120539741
Status will be re-evaluated on next push.
Common spurious failures include: the cbmc commit has disappeared in the mean time (e.g. in a force-push); the author is not in the list of contributors (e.g. first-time contributors); compatibility was already broken by an earlier merge.

Copy link
Contributor

@allredj allredj left a comment

Choose a reason for hiding this comment

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

⚠️
This PR failed Diffblue compatibility checks (cbmc commit: e858df0).
Build URL: https://travis-ci.com/diffblue/test-gen/builds/120771881
Status will be re-evaluated on next push.
Common spurious failures include: the cbmc commit has disappeared in the mean time (e.g. in a force-push); the author is not in the list of contributors (e.g. first-time contributors); compatibility was already broken by an earlier merge.

Copy link
Contributor

@allredj allredj left a comment

Choose a reason for hiding this comment

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

⚠️
This PR failed Diffblue compatibility checks (cbmc commit: b22d4e4).
Build URL: https://travis-ci.com/diffblue/test-gen/builds/120772938
Status will be re-evaluated on next push.
Common spurious failures include: the cbmc commit has disappeared in the mean time (e.g. in a force-push); the author is not in the list of contributors (e.g. first-time contributors); compatibility was already broken by an earlier merge.

Bison and Flex made to create C++ code instead of C. Requires versions of Bison with support for that and proper include paths to FlexLexer.h(which is included with Flex)

Implemented Rust Features
  Operators
    == , !=
    < , <= , > , >=
    + , - , * , /
    Unary -
    Bitwise | , & , ^ , !
    Boolean !
    += , -= , *= , /=
    %= , &= , |= , ^=
    Bitwise << , <<= , >> , >>=
    () - as in 3 * (1 + 1) = 6
  Types
    u32
    i32
    bool
    f32
    f64
  Pointers
    Dereferencing
    Addressing
  Control Flow
    if, else if, else statements
    loop Loops
    while Loops
  Functions
    Function Declarations
    Function Calls
  Misc.
    Sub-Scopes
    mut
    Simple unsafe Blocks

Unimplemented Rust Features
This list may not be exhaustive, but features that still need to be implemented include the following.
  Importing
    extern crate - import crates
    use - import scopes/functions/etc.
  Types
    str, String, etc. - string slices, Strings, etc
  Macros
    General case for Macros  - non-assert macros
    #[some_attribute] Macros - procedural macros - generate code from attributes
    macro_rules! Macros - function-like macros with match cases
  Functions
    Built-in Functions
  Pointers
    Smart Pointers
  Misc.
    Slices
    Lifetimes - possibly don't need to worry about these if Rust compiler catches all lifetime issues
    Structs - member functions could cause complications
    Enums - member functions could cause complications
    Modules
    For Loops - Requires iterators and slices
    Closures
    Iterators
    Match Expressions
    Patterns
    Unsafe Regions - how many assumptions about safe compilability are broken? possibly and hopefully none
@BrettSchiff BrettSchiff force-pushed the rust_initial_compilable branch from 8d8ac00 to e7483b1 Compare July 25, 2019 20:51
Copy link
Contributor

@allredj allredj left a comment

Choose a reason for hiding this comment

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

⚠️
This PR failed Diffblue compatibility checks (cbmc commit: 8d8ac00).
Build URL: https://travis-ci.com/diffblue/test-gen/builds/120776654
Status will be re-evaluated on next push.
Common spurious failures include: the cbmc commit has disappeared in the mean time (e.g. in a force-push); the author is not in the list of contributors (e.g. first-time contributors); compatibility was already broken by an earlier merge.

Copy link
Contributor

@allredj allredj left a comment

Choose a reason for hiding this comment

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

⚠️
This PR failed Diffblue compatibility checks (cbmc commit: e7483b1).
Build URL: https://travis-ci.com/diffblue/test-gen/builds/120778667
Status will be re-evaluated on next push.
Common spurious failures include: the cbmc commit has disappeared in the mean time (e.g. in a force-push); the author is not in the list of contributors (e.g. first-time contributors); compatibility was already broken by an earlier merge.

@BrettSchiff BrettSchiff marked this pull request as ready for review July 25, 2019 22:00
@tautschnig
Copy link
Collaborator

@tautschnig tautschnig closed this May 10, 2021
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.

4 participants