This section needs to be more explicit about what aspects of `in / ref`
and `this` parameters are *return-only*. The existing language was a bit
ambiguous so cleaned it up.
Discovered this when chatting with customer about the rules
* Expanding ref support
This proposal expands the `ref` support in the compiler to include:
1. `ref struct` as `ref` fields
2. `ref scoped` parameters and fields
3. Fully sunsetting restricted types
At the moment I'm not proposing that LDM move forward with the design.
I'm still deciding if the complexity / cost is worth the gain it
provides. Yet recent discussions crystalized in my mind how this would
all work hence I wanted to get it written down and out for review.
The intent here is to socialize these ideas, get feedback on where this
would or would not help and then make a decision on whether to push this
through LDM / future .NET release.
* examples
* Apply suggestions from code review
Co-authored-by: Jan Jones <jan.jones.cz@gmail.com>
Co-authored-by: Aaron Robinson <arobins@microsoft.com>
* Apply suggestions from code review
Co-authored-by: Charles Stoner <10732005+cston@users.noreply.github.com>
---------
Co-authored-by: Jan Jones <jan.jones.cz@gmail.com>
Co-authored-by: Aaron Robinson <arobins@microsoft.com>
Co-authored-by: Charles Stoner <10732005+cston@users.noreply.github.com>
* template
* getting started
* Got a lot of the interface part written
* more
* More
* Apply suggestions from code review
Co-authored-by: Charles Stoner <10732005+cston@users.noreply.github.com>
* Apply suggestions from code review
Co-authored-by: Joe4evr <jii.geugten@gmail.com>
Co-authored-by: Charles Stoner <10732005+cston@users.noreply.github.com>
* More
* Apply suggestions from code review
Co-authored-by: Charles Stoner <10732005+cston@users.noreply.github.com>
* missing anti-constraint
---------
Co-authored-by: Charles Stoner <10732005+cston@users.noreply.github.com>
Co-authored-by: Joe4evr <jii.geugten@gmail.com>
* replace speclet terms with ECMA standard terms
Add a note at the top of each file that explains the migration from "safe to escape" to "safe context".
I didn't add a key for the terms "enclosing scope", "entire method", "calling method" and "safe to return" because they weren't used consistently.
Namely, "entire method" was sometimes called "current method". There were also multiple spellings, capitalizations, and word casing involved.
* proofread
* Add docs template for spec issues
Once this is merged I'll add the config to direct customer issues to this template.
* Include default labels
Respond to feedback.