I’ll wait for the conclusion of what the C++ committee does
🤣 🤣 🤣 🤣
I’ll wait for the conclusion of what the C++ committee does
🤣 🤣 🤣 🤣
It’s quite simple. Just remove the permalink field! If you are calculating it then no need to store it in the struct.
This is inefficient. It should be the other way around. Remove base_url
and rel_permalink
, and store permalink
and the rel_permalink
offset.
That way, you can get a zero cost &str
for any of the three.
This is neither news*, nor majorly relevant. Having rustc_codegen_gcc
as a rustup
component is going to be way more relevant, and is much closer to delivery, just to give an example.
* The post itself (not the content of it) appearing on the official blog was sort of pleasantly surprising (brought tears to my eyes, i tell ya). Hopefully that was a result of maturity, rather than external pressure.
unrecoverable errors in the form of panic
ahem
Is this going to be re-posted every month?
Anyway, I’ve come to know since then that the proposal was not a part of a damage control campaign, but rather a single person’s attempt at proposing a theoretical real solution. He misguidedly thought that there was actually an interest in some real solutions. There wasn’t, and there isn’t.
The empire are continuing with the strategy of scamming people into believing that they will produce, at some unspecified point, complete magical mushrooms guidelines and real specified and implemented profiles.
The proposal is destined to become perma-vaporware. The dreamy guidelines are going to be perma-WIP, the magical profiles are going to be perma-vapordocs (as in they will never actually exist, not even in theoretical form), and the bureaucracy checks will continue to be cashed.
So not only there was no concrete strike back, it wasn’t even the empire that did it.
systemd
Interesting. So they did it two years ago for the lols… i mean for the u8"😀"
s*…which wasn’t even really needed as one of the PR comments pointed out.
* Yes, the mission creep is so bad the shit show that is systemd
has emoticons.
Multi-threading support
Who stopped using pthreads/windows threads for this?
Unicode support
Those who care use icu anyway.
memccpy()
First of all, 😄.
Secondly, it’s a library feature, not a language one.
Thirdly, it existed forever in POSIX.
And lastly, good bait 😄.
whats so bad about Various syntax changes improve compatibility with C++
It’s bad because compiler implementations keep adding warnings and enabling them by default about completely valid usage that got “deprecated” or “removed” in “future versions of C” I will never use or give a fuck about. So my CI runs which all minimally have -Wall -Werror
can fail with a compiler upgrade for absolutely irrelevant stuff to me. If it wasn’t for that, I wouldn’t even know about these changes’ existence, because I have zero interest in them.
Those who like C++ should use C++ anyway. They can use the C+classes style if they like (spoiler alert: they already do).
I can understand. But why would you not use newer C versions, if there is no compatibility with older version “required”?
Because C doesn’t exist in a vacuum, and Rust exists. Other choices exist too for those who don’t like Rust.
My C projects are mature and have been in production for a long time. They are mostly maintenance only, with new minor features added not so often, and only after careful consideration.
Still interested in knowing what relevant projects will be using C23.
That’s good and all, but we all explicitly pass -std=gnu99
(or -std=c99
if you don’t care about MSYS2 compat) in our build scripts buddy 😉
Okay, maybe not all all. But you get the idea.
Are there any relevant projects who use the increasingly C+±infested newer versions of the language?
Correct link without /edit/
:
https://github.com/Nutomic/ibis/releases/0.1.2
With hyper-threading and preemption in mind, maybe it’s concurrency all the way down 😎 . But we should definitely keep this on the down low. Don’t want the pesky masses getting a whiff of this.
you’re not supposed to immediately reach for macros
correct
for small things you don’t quite like about the language.
incorrect
Excessive macro use makes it impossible for others (including your future self) to read your code
N/A. the macro above is trivial.
impossible for others to read your code and there’s often good reasons why it’s designed like it is.
fiction
There is a general mechanism in Rust that allows language users to add their own sugar. It’s called macros 😉
macro_rules! keep {
(let $id:ident = $expr:expr => $($tt:tt)+) => {
let $id = $expr;
let $id = $id$($tt)+;
}
}
fn main() {
keep!{ let path = std::env::current_dir().unwrap() => .as_path() };
println!("{path:?}");
}
You can remove let
from the macro’s fragment specifier and invocation.
I have no specific knowledge of this stuff. But the generic answer is an obvious one.
However Python code does it can be replicated in Rust.
For example, if python code executes the driver as a subprocess, then that too can be done in Rust.
So checking how Python code does it will probably lead to an answer to this question.
Fixed that for you.
If you read the post, you will see it explicitly stated and explained how the committee, or rather a few bureaucratic heads, are blocking any chance of delivering any workable addition that can provide “safety”.
This was always clear for anyone who knows how these people operate. It was always clear to me, and I have zero care or interest in the subject matter (readers may find that comment more agreeable today 🙂 ).
Now, from my point view, the stalling and fake promises is kind of a necessity, because “Safe C++” is an impossibility. It will have to be either safe, or C++, not both, and probably neither if one of the non-laughable solutions gets ever endorsed (so not Bjarne’s “profiles” 😁), as the serious proposals effectively add a non-C++ supposedly safe layer, but it would still be not safe enough.
The author passionately thinks otherwise, and thinks that real progress could have been made if it wasn’t for the bureaucratic heads’ continuing blocking and stalling tactics towards any serious proposal.