I think those are covered. Any checks that Rust adds will be present in the IR (either coded in the original source or implied through rust semantics). Those checks would then get put in the compiled C output. The ideal output of Eurydice would be to have exactly the same semantics and safety as provided by Rust. Since their use case is to use Rust to code on platform without support for a rust compiler, it is a rather important goal to have too.
You can do it at compile time. Or more likely, link time. If the implementation is ever actually used, it is kept in the binary. Otherwise it is used. The compiler can do the same, keeping all derives as just markers until it finds a place that actually uses it then firing off a background worker to compile the derive impl.
Or you can keep the smaller apartments and make boarding schools more common. Small kids all live in the same room while the ones old enough to need their own space move out completely to a boarding school. Depending on the specifics, may be a much better solution overall.
Could you use an electromagnet and a metal ball to create a fixed charge? If you change the current in the electromagnet, that would change the intensity of the magnetic field. With the metal ball fixed in place nearby and a careful curve for the change of current, you could potentially have a constant charge remaining on the ball.
That says why they don't want it to be UB. The question, I believe, was why they want statically-known-infinite non-trivial loops to continue being UB.
If you have need of a reducing operation though, you will still need to think about that value. If you are summing up a list of numbers, it doesn't matter whether you use reduce or a loop, you need to set some initial value.
Not a civil engineer but as far as I know, the space is part of the point. If you keep the roads straight but just draw a circle in the middle, you don't have a roundabout. It only works properly if the drivers have to curve in and out of it.
You could keep the same space I guess by pinching the roads tighter near the entries/exits but I don't think anyone is talking about that.
I... Don't see it? It's the result page right? I just search some random string on Google and the results are all direct URLs. Do they get resolved via javascript after page load and replaced automatically? Or am I looking at something else?
If we build an intelligence that wants to die then dangling death in front of it and making it do our bidding first is a form of suffering. The want itself is a suffering to us because we do not naturally want to die. This intelligence does 'naturally' want to die so it is just a fact of 'life' for it.
You don't want to install all dependencies globally. You only want to cache them globally. Each project should resolve its own dependency tree independently. If the wanted version is already in cache, use that, otherwise download from the repository even if an older / newer version is present in cache (unless the user specifically says to use the cache only). As long as your dependencies are inert (they don't mess with the system just by being present), this will work perfectly fine.
For non-inert packages, such as applications installed via the language's dependency manager, that's a different use case and should be handled differently.
This made me think of a hypothetical game where the players roll dice to determine their order of turns. The rolling will continue until every player is assigned a turn. If some other player rolls multiple times in the middle then that player gets multiple turns. So for example with a 6 sided die and 2 players, faces 1, 3, 5 correspond to player 1 and 2, 4, 6 to player 2. They roll dice and the rolls come out as 1, 1, 5, 3, 5, 2. That means player 1 will get a turn 5 times per round while player 2 gets 1 turn. To make it fairer, player 2 would receive some sort of advantage corresponding to the lack of turns compared to player 1. The game would be designed in such a way that novices would prefer getting multiple turns in a round while experts would prefer to get a single turn for themselves and maximizing the total number of turns per round.
> How would the library "make future data modeling ... more explicit" if this is a change to a default, which is implicit?
It would become more explicit because where the order matters, you will now see a `maintain_order=True` where previously, you couldn't say whether it actually needed the fixed order or not.
I don't use soap but I do put my phone under the tap if I dropped some sauce or something on it.
On a serious note, why not just use the lens polishing cloth you get with glasses? If it's good enough for glass that would sit right in front of your eyes constantly, it's good enough for your phone.
USA has that digital misuse law that makes it a crime to use software in unintended ways. So claude or codex finding bugs in their software is actually illegal... I am not sure if really no one tried this yet or if they did and I just missed the news.
I haven't read any of their previous articles but I had to jump out and go through the comments here just because of how LLM-ist it felt. Right in first paragraph or two, it started feeling weird.
If you say it isn't just slop, I suppose I'll push past and read it. The topic itself did seem interesting.
How would you use zod as a dev-only dependency? The whole point there is to be a parser. If you remove it from runtime then you are not parsing the production payloads, which is the exact place where you do need to parse them.
Isn't USA famous for letting parents take out credit cards on their newborns and pushing them into debt even before they learn to walk? I recall seeing at least a few snippets of movies and TV shows showing that.
Not OP but I don't. What do you mean? How do you make the kei truck an object they aren't in the business of taxing when they are, in fact, in that very business? Or maybe I have some deeper confusion about the issue here.
I agree. I prefer Optionals over Nulls in any case. This was just a thought of what if Go went all the way instead of just halfway. In my ideal language, you would have explicit assignments and compiler checked (runtime checked if absolutely necessary) pointer validity (with allowed length) at construction. As far as I know, the only time you need to make a pointer and say "trust me" is when doing MMIO so that can given its own mechanism. If it exists in the program state, it's valid.
Well, what happens when you write through an invalid pointer? The runtime can swallow the write or crash the program or allocate new storage and replace the pointer. Depends on the wanted semantics.
What if Go went all the way? Referencing a zero pointer (nil) gives you the zero value of the pointed to type. If you try to access a zero map, it tries to deference the zero pointer to the underlying buffer. The zero pointer gives you the zero slice with zero length. The presence check fails without crashing and you get some pretension of reasonable behaviour.
And Visa and MasterCard aren't surveiled? Isn't one of their selling points that they surveil every transaction and automatically block anything suspicious? And increasingly, the parameters for suspicious include anything pornographic or even 'pornographic' (see: the bullying of steam to remove explicit games).
At least with Pix, the costs get lower for the end users.
I thought newtonian gravity was already proven to be inaccurate with Einstein's Special Relativity (or General Relativity?) giving better results on cosmic scales (basically analogous to an approximation vs an exact formula)?
Aren't there companies that still use C89 for their production systems? I don't know any in particular but I have read comments here on HN implying that. Just do the same for Rust. Stick to the one major version you started with instead of trying to update the toolchain regularly.
Wouldn't you face the same problem as Dotnet on Windows? AFAIK, dotnet based frameworks and apps suffered from huge performance issues. It might have improved in recent times, I am not actually a windows dev.
If just the end user application is in Lua, then maybe it's fine and the high level language slowdown won't matter. If you want to wrap the low level kernel APIs etc in a high level language as the canonical interface, I would be very skeptical.