I only tried to get Qt Base up and running. But Qt Declarative will be next, after Qt Base.
rubymamis•2d ago
That would be awesome (:
yjftsjthsd-h•1h ago
Depends in which sense you want it to "catch" the bugs. As this readme notes/quotes,
> All memory safety errors are caught as Fil-C panics.
If your problem is a memory-based bug causing a crash, I think this would just... catch the memory-based bug and crash. Like, it'd crash more reliably. On the other hand, if you want to find and debug the problem, that might be a good thing.
dafelst•1h ago
Sure, if the memory error is an immediately crashing one like a null per deref, but if is (for example) a memory corruption (e.g. an out of bounds write or a write-after-free) then this would be super helpful in exposing where those are happening at the source.
wat10000•34m ago
That’s what “catch” means here. As in, catch it in the act. Tools that make bugs crash more reliably and closer to the source of the problem are extremely valuable.
rowanG077•1h ago
I thought the point of Fil-C was to be a drop in safe replacement of C. This project existing implies it isn't. What's going on?
meibo•1h ago
It's not done yet.
g-mork•46m ago
Sure fooled me. I follow his Twitter account and there isn't much he hasn't got building with it at this point. UX comes later. Amazing it's the random work of one person
wat10000•29m ago
Most large C code bases aren’t really written in C. They’re written in an almost-C that includes certain extensions and undefined behavior. In this case, it uses inline assembly (an extension) and manipulating pointers as integers (undefined behavior).
loeg•19m ago
It isn't entirely drop-in for all programs.
dayli•37m ago
Interesting to see Fil‑C used with a large framework like Qt. The fact that it compiles with minimal changes says a lot about the compatibility layer and the InvisiCaps approach.
wewewedxfgdf•11m ago
I believe much more in making C/C++ safer than using something as complex as Rust.
SafER is better than deeply complex and unable to be understood except by Rust experts.
timschmidt•5m ago
In my experience (20+ years with C/C++, and about 4 years with Rust), Rust is significantly less complex than C++, while being similarly capable. The extra syntax that throws off so many C++ devs is almost exclusively about data types and lifetimes, which I find very useful for understanding my own code and others', and which I wish I had in C++.
bfrog•5m ago
If you can’t understand ownership I’m baffled how you believe you can write well behaved C or C++.
Rust at least embeds this information in the API with checks. C and C++ are doc comments at best.
rubymamis•2d ago
[1] https://qt-project.atlassian.net/browse/QTBUG-122658
cristianadam•2d ago
rubymamis•2d ago
yjftsjthsd-h•1h ago
> All memory safety errors are caught as Fil-C panics.
If your problem is a memory-based bug causing a crash, I think this would just... catch the memory-based bug and crash. Like, it'd crash more reliably. On the other hand, if you want to find and debug the problem, that might be a good thing.
dafelst•1h ago
wat10000•34m ago