Commit graph

1222 commits

Author SHA1 Message Date
Damien Guard
6bfe301e79
Update records to correct pubic to public (#3971) 2020-10-05 08:04:38 -07:00
Mads Torgersen
a2cd3c4947
Update LDM agenda 2020-10-02 13:37:25 -07:00
Fred Silberberg
201a8cb7fe
Remove missing link 2020-10-01 13:29:06 -07:00
Fred Silberberg
b5ff2efa01
Fix nested list. 2020-10-01 13:28:42 -07:00
Fredric Silberberg
a3d67d1415
Added notes for September 30th, 2020 2020-10-01 13:21:55 -07:00
Jared Parsons
77b2ab88a0
Proposal: Low level struct improvements (#3936)
* Proposal: Low level struct improvements

This design covers adding the following features to C# for low level
struct performance improvements:

- Allowing `ref struct` to contain `ref` fields.
- Allowing `struct` and `ref struct` to return `ref` to their fields.
- Allowing safe fixed buffers for unmanaged and managed types.

Note: the section on providing parameter escape notations is incomplete
at this time. I will send a PR in the future once I finalize this
portion. Feel free to still leave comments though.

Iterations

* Rename to ThisRefEscapes

The name `[RefEscapes]` was causing a lot of confusion in the
discussions. People were mis-interpretting it as a general feature that
could apply to other constructs when in reality it's a very specific and
targetted feature. Renaming to `[ThisRefEscapes]` to make it clear this
is a very targetted feature.

* Allow heap inputs

Based on feedback from several people I've decided that we need to make
the rules for `ref` fields more flexible when the values being passed
around are known to refer to the heap. In those cases there is simply no
reason to restrict the created `ref struct` as it is always
*ref-safe-to-escape* to the enclosing method as well as not requiring
any adjustment to the method invocation rules.

This does mean that we need to add the notion of "refers to the heap" to
the span safety document. That doesn't change any assumptions there.
It's just that before this change the notion of "refers to the heap"
wasn't necessary to describe our safety rules.


Co-authored-by: Ruikuan <liruikuan@outlook.com>
Co-authored-by: Joseph Musser <me@jnm2.com>
2020-09-29 08:31:01 -07:00
Fredric Silberberg
cd13c1328c
Added notes for September 28th, 2020 2020-09-28 14:46:57 -07:00
Andrew Hill
3f6a61b29b
We should Inform people about appropriate use of analyzers (#3934)
* We should Inform people about appropriate use of analyzers

as per #3925

* Update README.md

Co-authored-by: Fred Silberberg <fred@silberberg.xyz>
2020-09-27 11:14:17 -07:00
Fred Silberberg
8bcdc05af8
Corrected the date 2020-09-26 21:10:52 -07:00
Mads Torgersen
f11bd0833f
Update LDM agenda 2020-09-25 13:57:51 -07:00
Fredric Silberberg
74861d2aaf
Added notes for September 23rd, 2020. 2020-09-25 10:15:08 -07:00
Youssef Victor
b2699bff42
Update native integers conversions (#3941) 2020-09-25 09:45:17 -07:00
Julien Couvreur
3f901fa303
Exclude static fields and setter-only properties from PrintMembers (#3919) 2020-09-21 10:19:52 -07:00
Youssef Victor
ad94ce8053
Update records spec (#3918) 2020-09-21 09:56:09 -07:00
AlekseyTs
d6109bf586
Clarify that a copy constructor doesn't prevent an automatic addition of a default instance constructor for a record. (#3913) 2020-09-21 05:31:23 -07:00
Mads Torgersen
b06bc10585
Update README.md 2020-09-18 15:55:32 -07:00
Mads Torgersen
b6a06dae21
Update LDM agenda 2020-09-18 15:52:06 -07:00
AlekseyTs
a87af899c0
Allow record's parameter_list to be empty. (#3900)
* Allow record's `parameter_list` to be empty.

Based on https://github.com/dotnet/csharplang/blob/master/meetings/2020/LDM-2020-08-24.md#base-calls-on-parameterless-records
2020-09-18 10:13:26 -07:00
Fredric Silberberg
3882702804
Add notes for September 16th, 2020 2020-09-17 11:28:00 -07:00
Neal Gafter
2661a4b395
Change to 7.5.4.2 Grammar Ambiguities in patterns spec to support type pattern. 2020-09-16 11:32:32 -07:00
Neal Gafter
fcf884f7f8
Update pattern spec for narrowed type of ITuple pattern (#3891)
Fixes https://github.com/dotnet/roslyn/issues/44102
2020-09-16 09:27:34 -07:00
Petr Kulikov
8203726f00
Minor grammar and typo fixes (#3370) 2020-09-16 09:18:49 -07:00
Fredric Silberberg
addae801a3
Add notes for September 14th, 2020 2020-09-14 15:39:39 -07:00
Fred Silberberg
f20eb250f6
Add warning wave to future discussion 2020-09-14 13:34:38 -07:00
Youssef Victor
ca09fc178f
Update records spec with new warning (#3883)
* Update records spec with new warning

* Update proposals/csharp-9.0/records.md

Co-authored-by: Fred Silberberg <fred@silberberg.xyz>

Co-authored-by: Fred Silberberg <fred@silberberg.xyz>
2020-09-11 16:07:40 -07:00
Mads Torgersen
b4b5b530da
Update C# LDM agenda 2020-09-11 15:44:04 -07:00
Julien Couvreur
1333a5bcd3
Update README.md 2020-09-11 15:10:04 -07:00
Charles Stoner
2241fc9083
Update README.md 2020-09-11 15:07:18 -07:00
Julien Couvreur
8032d0c7c3
Update README.md 2020-09-11 14:09:51 -07:00
Julien Couvreur
1a6e8ca4e4
Update README.md 2020-09-11 14:05:07 -07:00
NetMage
8cb28ad560
Update LDM-2020-05-27.md (#3875)
Replaced incorrect structs with classes in: "less far behind" than structs in record features
2020-09-10 18:56:10 -07:00
Mads Torgersen
1b48340ac8
Update LDM agenda 2020-09-10 18:21:24 -07:00
Julien Couvreur
04ab4562e9
Update README.md 2020-09-10 17:47:46 -07:00
Mads Torgersen
b3a10fc9ab
Update LDM agenda 2020-09-10 17:47:24 -07:00
Fred Silberberg
622f4ea4ff
Add missing we 2020-09-10 16:40:02 -07:00
Youssef Victor
9fb76a990c
Grammar fixes (#3827)
Co-authored-by: Fred Silberberg <fred@silberberg.xyz>
2020-09-10 09:57:50 -07:00
Fred Silberberg
09aecc2f74
Add issue templates (#3872) 2020-09-10 09:54:59 -07:00
Fredric Silberberg
41a28555bf
Add README link for notes. 2020-09-09 16:59:30 -07:00
Fredric Silberberg
38c2e48ada
Added LDM notes for September 9th, 2020. 2020-09-09 16:57:46 -07:00
Bill Wagner
8df4f29c1c
fix broken link (#3865)
The path is needed for the spec link
2020-09-09 09:36:14 -07:00
Youssef Victor
d52960a47b
Fix broken link (#3861) 2020-09-09 09:35:31 -07:00
Mads Torgersen
b61ecce72b
Update LDM agenda 2020-09-08 16:33:27 -07:00
Julien Couvreur
c3df20406f
Document features shipping in C# 9.0 (#3850) 2020-09-08 11:17:39 -07:00
Mads Torgersen
b23ef78ab5
Add Discussions guidance 2020-09-08 10:17:00 -07:00
Christopher Watford
7cf8d52977
Restore missing code example (#3862)
Follow on to eade6b9#diff-c5d292723e1e43121acb1f8360545e53
2020-09-08 09:25:42 -07:00
Charles Stoner
cc11a3bb7a
Recent updates for native integers (#3856) 2020-09-08 09:18:46 -07:00
Youssef Victor
3a6c79012a
Add missing commas (#3855) 2020-09-06 10:00:20 -07:00
Youssef Victor
95adf054b9
Add H1 to convariant returns (#3846) 2020-09-04 11:14:13 -07:00
Neal Gafter
ac14d87c16
Update spec for covariant returns. (#3843) 2020-09-03 16:57:07 -07:00
Neal Gafter
dd40959c46
Create empty-params-array.md 2020-09-03 14:44:12 -07:00