Commit graph

1223 commits

Author SHA1 Message Date
Damien Guard 23c9e13493
Add missing , to record_base rule (#3972) 2020-10-05 09:49:56 -07:00
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