Last time I tried I had troubles. My understanding is open generics (like List<T>, without specifying T) don’t fully compile because Native AOT lacks a JIT to handle unspecified types at runtime. Closed generics work fine, though, as they’re fully known at compile time. Am I wrong in my thinking?
This does not line up with the implementation. You may want to ask in DotNetEvolution or dotnet/runtime discussions as there you can get a definitive answer why something didn't work - most of the time it is best to avoid such assumptions.
Open generics simply propagate type parameters down - T: class produce shared method bodies, as they do with the JIT with the type being passed implicitly. For T: struct the corresponding code is fully monomorphized. This is not related to JIT at all where the main distinction with NativeAOT is when compilation happens.
All generic scenarios are supported. Unbound un-analyzable reflection as well as anything that requires JIT like assembly loading or reflection emit - this doesn't work for obvious reasons.
Only generic scenarios that can be resolved and compiled at build time are supported in NativeAOT. So, the statement that “all generic scenarios are supported” is overly broad. I’ll try to avoid such assumptions :).
ILLink has definitive knowledge about the types present in the program, including generic instantiations, which is what allows ILC to compile the program. You cannot introduce new types at runtime when using NativeAOT, and all callsites and reflected upon members are either statically known or brought in by one or another form of annotation. This is not related to JIT because the only difference in generic handling is when the compilation takes place. It is handled by the same compiler back-end being fed the same information. In fact, this also applies to trimming with JIT publish modes. Generics themselves are only tangentially related to reachability analysis. You are misunderstanding the way this works, this isn't Unity's Mono.
Putting in more practical terms - had NativeAOT not supported List<T> where T is an open generic, most hello-world scenarios would not work at all. And yet, somehow, by divine intervention, ASP.NET Core, DapperAOT, Avalonia, Uno as well as MAUI iOS under Simulator, even damn WinForms that was never made with NAOT in mind (with a helper package), and so on and so forth - all complex applications, work under NativeAOT.
I've lived here almost 40 years. In the past 15 years homelessness has risen by 50% but so has population. Rent has doubled, but crime is falling.
In fact, we're seeing record low property and violent crime rates. The last couple years have seen some uptick from the record lows of the 2010s, but Seattle is much safer than it was at basically any time in it's past.
I think that “record low of the 2010s” is the main driver of the perception that Seattle is declining. Many of us moved to Seattle in that era and the 2020s are dramatically worse than the 2010s.
And the time, resources, and expertise required to solve those timeless problems are relevant to discrimination policy how? Could we solve homelessness and crime by repealing all discrimination laws?
The context of the question isn’t about how it’s related to the caste policy. Maybe I missed something?
Not addressing the homeless and crime issues is a kick in the face to us tax payers in her district. Not to knock on the caste system policy but there’s biggest issues to tackle before anything else. Just my .02
I guess you didn’t read my comment. How is discrimination policy detracting from efforts to reduce crime or homelessness? From where I sit you invoked unrelated issues to a discussion on anti-discrimination policy. Is there a connection I missed?
I have been living in the CD for about 25 years, and I have noticed an increase in drive-by shootings over the last five years. While it's not as bad as it was in the early 90s when Deuce 8 was more active on my block, the situation has deteriorated compared to 10 years ago
* Math. Got two books to refresh my skills.
* Improve my parenting.
* Get back to sxratchin (turntables) and making beats.
* Put my work out.