Implements the initial set of span-safety checks.
These are mostly the checks dealing with stack-only nature of the Span. With minor difference they follow the same logic as the existing checks for types such as TypedReference. ==== Not in this change: Defining and detecting span-like types is NYI. For now we just treat any type named "System.Span" and "System.ReadonlySpan" as span-like. This will change. Some of the checks result in somewhat generaic messages and happen at emit phase. That was ok when the failures were supposed to be rare. Error clarity is not the goal of this change, but we will examone what errors should say and whether they should be moved to an earlier phase.
Showing
想要评论请 注册 或 登录