Really? Why? I've not used Rust outside of some fairly small efforts, but I've never found a reason to reach for unsafe. So why is "nearly everyone" else using it?
Let's say you want to call win32 (or Mac) OS functions, all of a sudden you're doing all kinds of wonky pointer stuff because that's how these operating systems have been architected. Doing unsafe stuff is pretty inevitable if you want to do anything non-hello-world-ish.
And even if you do end up writing an unsafe block, that should be a massive flag that the code in said block should deserve extra comments on why it is safe, and extra unit tests on verifying that it does not blow up.
How do you know the unsafe operation is safe? What are the preconditions the code block has? Write it down, review it, test it.
Exactly; I feel like a lot of people seem to misunderstand what Rust is trying to solve. It's fundamentally not trying to make unsafe code impossible; it's making the number of places you need to audit it a tiny fraction of your codebase compared to needing to audit the entirety of a C or C++ codebase. When I'm doing code reviews, you'd better believe I'm going to spend some extra time on any unsafe block I see to figure out if it's necessary and if so, if it's actually safe safe (with the default assumption for both of those being that they're not until I can convince myself otherwise).
The thing is you can actually write quite good C code (see OpenBSD project). The power of C is that it's pragmatic. It lets you write code with you taking the full responsibility of being a responsible person. To err is human, but we developed a set of practices to handle this (by making sure the gun is unloaded and the safety is on before storing it to avoid putting holes in feet).
I like type checking and other compile time checks, but sometimes they feel very ceremonial. And all of them are inference based, so they still relies on the axiom being right and that the chain of rules is not broken somewhere. And in the end they are annotations, not the runtime algorithm.
So what? Just because you used the keyword `unsafe` to call an unsafe API does not mean that you are going to use unsafe pointer access to write to a vector.
What's a software delivery lifecycle? I am struggling to find any other references to SDLC that uses "delivery" and not "development". SDLC stands for software development lifecycle in the industry. The SDLC will include delivery, but that's just one bit of it.
Assuming they're Roman Catholic, to get married in the Church at least one of the couple needs to be Catholic and records of their baptism, confirmation, etc. would be shared between the individual's church and wherever they're getting married. You also run into this if you move around a lot, not just for marriage. If you want to be confirmed, you need to be baptised. Your baptismal records may be in another state or country and would need to be shared with your confirmation church.
In fact, the baptismal parish is the official keeper of your sacramental records, so when you’re married, the marriage is communicated to that parish and added to your sacramental record (likewise for confirmation if it doesn’t happen at your baptismal church, and, less commonly ordination will also be communicated there). When parishes are closed or consolidated, the bishop will indicate what parish becomes the new keeper of sacramental records for the closed parish.¹
⸻
1. This is one of two significant cases that impact some of the two-church parishes that are part of the last decade of reorganization in the Archdiocese of Chicago. Sacramental records will be kept at only one of the churches. The other situation reflects Holy Thursday and Easter Vigil Masses. A parish is only allowed to have one Mass on Holy Thursday and on Easter Vigil, so the two-church parishes will only celebrate at one of the churches even if they had sufficient clergy to have those Masses at both locations.
> baptismal parish is the official keeper of your sacramental records
Interesting fact that I (as a Catholic) was not aware of, though I've observed it happening in practice when preparing to marry my wife, who did get all the relevant records from her home parish in a different part of Austria from where we were living at the time.
I'm curious about two things though, if you happen to know them: first is this "offical keeper" thing a Church-wide policy in all countries, not just a de facto tradition in some, and if so is it stated anywhere e.g. in Canon law as a universal practice? Secondly, how does the policy apply to those who were baptized in a non-Catholic church and later converted? Obviously an Anglican (or whatever) parish isn't going to take on the duty of being the official record-keeper for any Catholic sacramental requirements.
For those baptized in a different church but received into the Catholic church, they will go through a ceremony at the Easter Vigil Mass (where they will typically receive confirmation and first communion) and that church will be their official keeper of records. They will have a copy of whatever proof of baptism the person had. In rare cases where a person was baptized, but there is absolutely no written record (things like an inscription in a family Bible count as written record), they will receive conditional baptism where the person doing the baptism (usually a priest, but not necessarily) will preface the words of the baptism with the phrase, “if you are able to be baptized.” This was the normative practice for those baptized outside the Catholic church before Vatican II. As mentioned in a sibling comment, the baptismal and sacramental records of the church are a key source of genealogical data for many researchers.
For a long time this was a common concept: that more central authorities should only come in where more local cannot effectively do it (subsidiarity). This was of course pretty universal until recently. The oldest counter-example I can think of is the French Revolution that started to centralise.
The church works like DNS in that regard. (Without the caching. ;)
When my mother retired, she volunteered at the local church to transcribe and prepare 100 years of sacramental records to prepare them for digitization by the archdiocese. There were records in filing cabinets in offices, some in chests stored in the basement of the church, some with water damage.
The Catholic Church keeps pretty good records, for the most part. In New England, Quebec, and maritime Canada, many people can trace their ancestry back to at least the 1500s based on these records.
There was CNN and HNN (CNN2 at one point). CNN had more variety of coverage, interviews, etc. HNN was the one that repeated itself every 30 minutes or so (if nothing new came in), it was more like watching the national evening news at essentially any time of day. Then in the '00s they switched over to do more talking head junk.
Really? Why? I've not used Rust outside of some fairly small efforts, but I've never found a reason to reach for unsafe. So why is "nearly everyone" else using it?
reply