They are dlopen
ed by the rustc process. You can totally mess with it: https://nitter.net/m_ou_se/status/1368632701448818691
They are dlopen
ed by the rustc process. You can totally mess with it: https://nitter.net/m_ou_se/status/1368632701448818691
I’d love static analysis that finds which functions may panic, which are guaranteed not to. On a related note, it’d be nice to be able to hoist panics out of loops and coalesce multiple consecutive assertions into one (llvm can’t do it, because partially done work is a side effect).
At least 69K, which is over half of all crates — https://lib.rs/quote is used almost exclusively for output of proc macros.
To generate the LLVM code correctly you need to run build.rs
if there is any, and run proc macros which are natively compiled compiler plugins, currently running without any sandbox.
The final code isn’t run, but the build process of Cargo crates can involve running of arbitrary code.
The compilation process can be sandboxed as a whole, but if it runs arbitrary code, a malicious crate could take over the build process and falsify the LLVM output.
Yes, it’s Blink without the bits that Google doesn’t share (I wanted to be precise that nobody can compile actual Chrome from public sources, they can build Chromium which is almost but not quite the same)
Vivaldi uses the same engine as Chromium, and the company has been founded by ex Opera developers.
Plus you can make certain sites always automatically open in their designated container, even if you followed a link. You can keep sites know for spying away from your logged in identity. You can have your banking and other important sites in another container for extra defense in depth.
I maintain a long-term Rust + Node.js project, and the Node side is the painful one.
Node makes backwards-incompatible changes, and doesn’t have anything like the editions to keep old packages working. I can end up with some dependencies working only up to Node vX, and some other deps needing at least Node v(X+1).