> The caller has free choice over the returned lifetime, including 'static. Indeed, this function is ideally used for data that lives for the remainder of the program’s life, as dropping the returned reference will cause a memory leak.
I can see the use case of the function and from reading the commit discussion, it seems it was based on Vec::<u8>::leak() but I'm not able to understand why either of the functions are safe instead of unsafe.
If you're in it for the long haul (1-2 years), I'd recommend working through the recommendations in https://www.teachyourselfcs.com/. The Algorithms part, the Networks part and DDIA all have a very high return on time invested.
I'm not aware what exactly the German government has said in the past w.r.t mask usage. However, governments claiming mask usage was not required near the start of the pandemic followed by them later requiring people to use masks was actually an understandable decision on their part from what I've understood of the situation as it unveiled.
At the beginning of the pandemic, it was believed that the virus was using droplet transmission alone. In such a scenario, surgical masks, for the general public, would only be required in people who were sick to prevent transmission and N95 masks would primarily be required by health care workers. Considering the mask shortages faced in many countries at the time due to panic buying, the communications made by governments to the public w.r.t the benefits of masks make sense from a cost benefit perspective since it would guarantee that the people who needed the masks the most (medical workers and sick people) would receive them and reduce the spread of the virus.
Fast forward 2 months later, airborne transmission as well as asymptomatic transmission of the virus were both confirmed independently in several labs. This would mean that the prior strategy of only using surgical masks on sick people wouldn't really work well anymore. In the meanwhile, the availability of masks was much higher due to increased production. Hence, to reduce the risks of airborne and asymptomatic transmissions, governments released advisories asking all people to wear masks.
> The caller has free choice over the returned lifetime, including 'static. Indeed, this function is ideally used for data that lives for the remainder of the program’s life, as dropping the returned reference will cause a memory leak.
I can see the use case of the function and from reading the commit discussion, it seems it was based on Vec::<u8>::leak() but I'm not able to understand why either of the functions are safe instead of unsafe.