"Object initializers follow constructor rules for safe-to-escape assignment"

ref struct SpanWrapper {
	public Span<int> IntSpan;
}

static void ExampleOne() {
	Span<int> stackSpan = stackalloc[] { 1, 2, 3 };
	var spanWrapper = new SpanWrapper { IntSpan = stackSpan };
}

static void ExampleTwo() {
	Span<int> stackSpan = stackalloc[] { 1, 2, 3 };
	var spanWrapper = new SpanWrapper();
	spanWrapper.IntSpan = stackSpan; // Does not compile
}


Code snippet taken from "Complete C# Quick Reference - C# 11".