Automation Maximalist
Writing code of some sort since 2012
- Embedded
- Desktop
- Some Web
- Also willing to broaden my horizons
- Rust-lang
- C++
- C
- C#
- TypeScript/JavaScript
- SQL
- Java
- Lua
- Python
I support LGBTQ+ rights.
Rust closures you can transfer over an FFI boundary
License: Apache License 2.0
Closures are allowed to reference data that may be dropped before the closure itself is dropped currently. This will result in undefined behavior.
This can't be meaningfully prevented in C++, but we aren't even preventing this in Rust.
Due to technical limitations in the C preprocessor this only supports 16 arguments. I suspect 16 is plenty, but I'd someday like to remove this limit. In the short term, the limit can also be raised by providing more macro definitions.
The current technique is very imprecise and likely to come up with false positives. We need a way to either filter out those false positives, or avoid generating them in the first place.
I feel it's healthy for a sub 1.0 project to have a defined list of things that need to happen before it can go 1.0. So here's the list for this repository.
There's a general theme here. We need to start doing C/C++ code generation in addition to Rust code generation. Maybe the template system would be useful here? There's a massive amount of ways to do C/C++ builds, and ideally said code generation system would be able to plug into all of them.
The return type is known at compile time, so the destructor doesn't necessarily need to be stored in the closure structure. It could be compiled in to the return type release function.
Trouble is that this would require C to call Rust not via a function pointer, and for this project that would create a circular dependency. Maybe we'll come up with a way to resolve this at some point?
Easy fix since it only needs to be done for the void return macro. Just needs to be done.
It's all code generation now, no need for a runtime crate.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.