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

Tutorial example generates lots of noisy Rust warnings #1174

Open
dabrahams opened this issue Dec 18, 2023 · 3 comments
Open

Tutorial example generates lots of noisy Rust warnings #1174

dabrahams opened this issue Dec 18, 2023 · 3 comments

Comments

@dabrahams
Copy link

Finished compiling "playpen.dl" in 0.23s
libunwind: malformed __unwind_info at 0x184576CA8 bad second level page
warning: unused return value of `CString::from_raw` that must be used
    --> differential_datalog/src/api/c_api.rs:1043:5
     |
1043 |     CString::from_raw(s);
     |     ^^^^^^^^^^^^^^^^^^^^
     |
     = note: call `drop(from_raw(ptr))` if you intend to drop the `CString`
     = note: `#[warn(unused_must_use)]` on by default
help: use `let _ = ...` to ignore the resulting value
     |
1043 |     let _ = CString::from_raw(s);
     |     +++++++

warning: unused return value of `Box::<T>::from_raw` that must be used
    --> differential_datalog/src/api/c_api.rs:1137:9
     |
1137 |         Box::from_raw(delta);
     |         ^^^^^^^^^^^^^^^^^^^^
     |
     = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
help: use `let _ = ...` to ignore the resulting value
     |
1137 |         let _ = Box::from_raw(delta);
     |         +++++++

warning: unused return value of `Box::<T>::from_raw` that must be used
    --> differential_datalog/src/record/mod.rs:1177:5
     |
1177 |     Box::from_raw(rec);
     |     ^^^^^^^^^^^^^^^^^^
     |
     = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
help: use `let _ = ...` to ignore the resulting value
     |
1177 |     let _ = Box::from_raw(rec);
     |     +++++++

warning: `differential_datalog` (lib) generated 3 warnings
libunwind: malformed __unwind_info at 0x184576CA8 bad second level page
warning: unused return value of `Box::<T>::from_raw` that must be used
   --> types/ddlog_bigint/ddlog_bigint.rs:661:9
    |
661 |         Box::from_raw(x);
    |         ^^^^^^^^^^^^^^^^
    |
    = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
    = note: `#[warn(unused_must_use)]` on by default
help: use `let _ = ...` to ignore the resulting value
    |
661 |         let _ = Box::from_raw(x);
    |         +++++++

warning: unused return value of `Box::<T>::from_raw` that must be used
   --> types/ddlog_bigint/ddlog_bigint.rs:680:9
    |
680 |         Box::from_raw(x);
    |         ^^^^^^^^^^^^^^^^
    |
    = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
help: use `let _ = ...` to ignore the resulting value
    |
680 |         let _ = Box::from_raw(x);
    |         +++++++

warning: `ddlog_bigint` (lib) generated 2 warnings
    Finished release [optimized] target(s) in 0.11s
warning: the following packages contain code that will be rejected by a future version of Rust: nom v4.2.3
note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
@mihaibudiu
Copy link

It's not easy to make compiler-generated code be very clean for a target as fussy as the Rust compiler. I don't think anyone will fix this issue, this project is no longer maintained.

@dabrahams
Copy link
Author

These warnings all look quite trivial to deal with, but that's fine. I'm more interested in the rest of your statement… is there a discussion somewhere I can read of why this project is no longer maintained? Have people moved on to some other/better technology?

@mihaibudiu
Copy link

I guess the code may still be used within VMware - since the project hasn't been officially archived. But as you see, there haven't been new releases for 2 years.

A set of core contributors has moved to a related project: https://github.com/vmware/database-stream-processor.
But there is no Datalog in the newer project - it switched to SQL. Very few people are willing to learn Datalog, especially an exotic dialect of Datalog.

That second project in turn has been archived, when the contributors have left vmware, and it is being continued as a fork at https://github.com/feldera/feldera. In principle, it would be feasible to port Differential Datalog to the new runtime.

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

No branches or pull requests

2 participants