Commit graph

492 commits

Author SHA1 Message Date
AlekseyTs
cd3c18237b
Specify equality operators for records (#3754)
See https://github.com/dotnet/csharplang/blob/master/meetings/2020/LDM-2020-07-27.md#conclusion-1
2020-07-31 10:49:11 -07:00
Julien Couvreur
a4a9e017df
Clarify some restrictions on records (#3759) 2020-07-30 23:58:06 -07:00
Bill Wagner
a88d56e313
fix a number of broken links (#3750)
These were found building dotnet/docs#19736

- Add correct folders for several spec references.
- Correct casing of one anchor tag.
- Replace absolute links with relative links.
2020-07-30 14:39:47 -04:00
Rikki Gibson
5bde862ee7
Add nullable-constructor-analysis.md (#3742) 2020-07-30 10:56:00 -07:00
Neal Gafter
89bbdd101f
Move C# 9 proposals for integrated features. (#3751) 2020-07-29 14:09:31 -07:00
Youssef Victor
eca37476cc
Update function-pointers.md 2020-07-29 18:07:34 +02:00
Youssef Victor
94ed97a268
Fix href 2020-07-29 18:02:19 +02:00
Julien Couvreur
0c25406d8a
Move C# 9 specs to sub-folder (#3731) 2020-07-27 22:59:33 -07:00
Rikki Gibson
28eb378734
Delete nullable-constructor-analysis.md
This file wasn't intended to be added to `master` yet
2020-07-24 13:19:48 -07:00
Rikki Gibson
1dd5317c8b Add nullable-constructor-analysis.md 2020-07-24 13:18:54 -07:00
Fredric Silberberg
ebaabf6ca3
Only support public calling convention types. 2020-07-21 14:52:22 -07:00
AlekseyTs
84c16c14e0
Rename Variance-safety-for-static-interface-members.md to variance-safety-for-static-interface-members.md 2020-07-19 09:26:18 -07:00
AlekseyTs
1052c8855f
Create Variance-safety-for-static-interface-members.md 2020-07-19 09:25:24 -07:00
AlekseyTs
a5899d45d1
Clarify expected accessibility of an EqualityContract property in a record directly inheriting from object. (#3700) 2020-07-16 14:49:17 -07:00
AlekseyTs
3402ccd0e0
Clarify semantics of with expression. (#3690) 2020-07-15 16:02:56 -07:00
AlekseyTs
66fd2ffbda
Clarify accessibility of a synthesized record copy constructor. (#3686) 2020-07-15 13:20:16 -07:00
AlekseyTs
e149d1e9c0
Clarify accessibility requirements for explicitly declared record copy constructor. (#3678) 2020-07-15 09:55:25 -07:00
AlekseyTs
5a09cc1726
Add clarifications for instance "clone" method (#3683) 2020-07-15 09:32:46 -07:00
Julien Couvreur
e874c6d46e
Disallow certain modifiers in record parameters (#3672) 2020-07-14 12:06:46 -07:00
AlekseyTs
db9bca1e5c
Document ability to explicitly declare Deconstruct method. (#3670) 2020-07-14 10:15:08 -07:00
AlekseyTs
c6c9e199ad
Applying attributes to properties and fields that are created to back primary constructor parameters (#3667) 2020-07-14 10:14:32 -07:00
Julien Couvreur
09c67fbf78
Local functions and lambdas are outside init phase (#3674) 2020-07-13 22:24:09 -07:00
Rikki Gibson
4e69e5cde3
Update repeated-attributes.md (#3661) 2020-07-09 13:48:23 -07:00
Julien Couvreur
78a7c37efe
Disallow "Clone" members (#3652) 2020-07-09 10:11:13 -07:00
Rikki Gibson
cc68af0b2a
Repeated attributes across partial declarations (#3646)
* Create repeat-attributes.md

* Update repeat-attributes.md

* Update repeat-attributes.md

* Update repeat-attributes.md

* Fix filename

* Update repeated-attributes.md
2020-07-08 17:07:10 -07:00
Rikki Gibson
d0deb2f61b
Update and rename static-lambdas.md to static-anonymous-functions.md (#3651) 2020-07-08 17:06:50 -07:00
Rikki Gibson
b50c5ee1d9
Update repeated-attributes.md 2020-07-08 14:25:29 -07:00
AlekseyTs
2cbd8db612
Additional clarifications around Equality members (#3641) 2020-07-08 11:22:31 -07:00
Fred Silberberg
1aaa2ce941
Merge pull request #3647 from Jay-Madden/master 2020-07-07 15:46:50 -07:00
David Pine
9b736b5b73
Update the ranges.md file to correctly represent the actual impl. (#3645) 2020-07-07 10:51:45 -04:00
Jay
c4f7854f1c Added mention ??= rules 2020-07-07 09:48:49 -04:00
Jay
0d8b6b6596 Added Pointer-null-coalescing.md 2020-07-06 17:42:09 -04:00
Rikki Gibson
9ae50fad18 Fix filename 2020-07-06 13:01:17 -07:00
Rikki Gibson
ad8e804774
Update repeat-attributes.md 2020-07-06 12:54:09 -07:00
AlekseyTs
ce26928a60
Clarify some aspects of inheritance and equality for records (#3634) 2020-07-02 14:16:03 -07:00
Rikki Gibson
ec49f96cb7
Update repeat-attributes.md 2020-07-02 13:53:22 -07:00
Rikki Gibson
0cab9c586a
Update repeat-attributes.md 2020-07-02 13:52:17 -07:00
Fred Silberberg
1bb454804d
Update the calling convention and UnmanagedCallersOnly attribute. (#3441)
Co-authored-by: Jan Kotas <jkotas@microsoft.com>
2020-07-01 15:02:01 -07:00
Fredric Silberberg
2ca2a15434
Fix typo. 2020-07-01 15:01:18 -07:00
Fredric Silberberg
07582155a4
Update the calling convention sections with feedback from internal design, LDM decisions, and PR feedback. 2020-06-30 16:05:25 -07:00
Charles Stoner
413c55fe88
Override abstract property get and init accessors (#3626) 2020-06-30 10:53:26 -07:00
Petr Kulikov
6f244db799
Fix typo in tuple equality proposal (#3614) 2020-06-25 11:42:58 -07:00
Julien Couvreur
b901db48de
Update static-lambdas.md 2020-06-24 14:00:36 -07:00
Rikki Gibson
aa2d828c82
Update module-initializers.md (#3604) 2020-06-23 15:23:17 -07:00
Andy Gocke
7c44a62f9a
Add nullable spec for nested functions 2020-06-22 15:07:55 -07:00
Charles Stoner
d48f35e584
Records: update "Equality members" spec section (#3583) 2020-06-19 14:20:47 -07:00
Kevin Sun
eb00bb077e
Add constant interpolated strings (#3581)
* Create constant_interpolated_strings.md

* Update constant_interpolated_strings.md

* Update constant_interpolated_strings.md

* Update constant_interpolated_strings.md

* Update constant_interpolated_strings.md

* Update constant_interpolated_strings.md
2020-06-18 09:43:38 -07:00
Fred Silberberg
aa2ff4d18a
Add spec for extension GetEnumerator (#3576)
* Add extension GetEnumerator spec.

* Add await foreach note
2020-06-17 16:40:02 -07:00
Hiroshi Yoshioka
538df2e3c3
Typo "***" (#3405)
https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/proposals/csharp-8.0/nullable-reference-types-specification
2020-06-17 08:30:02 -07:00
Rikki Gibson
c90824ed24
Create repeat-attributes.md 2020-06-12 16:59:32 -07:00
Charles Stoner
3bfb6f875a
Update record equality specification (#3552) 2020-06-10 12:16:37 -07:00
AlekseyTs
0e42c53aa5
Clarify some aspects for record constructors (#3548) 2020-06-10 08:46:46 -07:00
Andy Gocke
5c9b8f27bd
Update records.md (#3547) 2020-06-08 14:01:34 -07:00
Andy Gocke
100d3f7f04
Bring records proposal up to date (#3527)
Try to bring the proposal in line with LDM decisions. Inheritance is somewhat described, but there
have been no affirmative decisions by LDM so this is still in flux
2020-06-04 12:18:43 -07:00
Andy Gocke
6c404867b9
Add spec for nominal records (#3520) 2020-06-02 14:21:18 -07:00
Neal Gafter
41e377c7fa
Update target-typed conditional expression spec. (#3503) 2020-05-31 14:29:44 -07:00
Andy Gocke
ae11413106 Move old records proposals to rejected/ and rename current proposal 2020-05-30 12:24:13 -07:00
Andy Gocke
04f998e2f9
Update records-wip.md (#3505) 2020-05-30 12:21:00 -07:00
Andy Gocke
300226c009
Update spec for record value equality (#3396) 2020-05-24 12:25:51 -07:00
Neal Gafter
e355841daa
Update target-typed-conditional-expression.md
Adjust specification.
2020-05-21 14:53:19 -07:00
Neal Gafter
125539b88d
Add doc for C# 6.0 struct autoprop initialization (#3459) 2020-05-18 16:36:57 -07:00
Jaliya Udagedara
c2df2ee72f
Update constructor parameters (#3466) 2020-05-17 10:12:44 -07:00
Matt Styles
c2fe8f1d15
Updated status of null coalescing assignment from proposed to implementation completed (#3451)
* Updated status of null coalescing assignment from proposed to implementation completed

The feature is available in C# 8. I can't see guidance on what should be updated in these docs to reflect that, so not sure if what I've changed is what should be changed!

* Update null-coalescing-assignment.md

Marking all stages of null coalescing assignment proposal as completed with checkbox filling
2020-05-12 14:41:23 -07:00
AlekseyTs
c657de69f5
Providing access to command line arguments within top-level statements 2020-05-09 09:43:55 -07:00
Fred Silberberg
d073319400
Update proposals/function-pointers.md
Co-authored-by: Jan Kotas <jkotas@microsoft.com>
2020-05-08 23:16:08 -07:00
Fredric Silberberg
fc347a5739
Update the calling convention and UnamangedCallersOnly attribute. 2020-05-08 16:14:30 -07:00
Neal Gafter
a17f4c8ba8
constant pattern is a constant expression. 2020-05-06 14:13:20 -07:00
Neal Gafter
c9ae01e03b
Update target-typed-conditional-expression.md 2020-05-05 16:16:39 -07:00
Neal Gafter
347c6665f7
Update target-typed-conditional-expression.md 2020-05-05 16:15:36 -07:00
Alireza Habibi
e006b4808d
Permit init-only initialization in attribute usages (#3425) 2020-05-05 12:47:03 -07:00
Andy Gocke
c30039481e
Update records-wip.md (#3353)
Add info for the `with` expression
2020-04-30 10:28:24 -07:00
Rikki Gibson
0cec4e00c3
Module initializers (#3392)
Co-authored-by: Fred Silberberg <fred@silberberg.xyz>
2020-04-30 10:03:12 -07:00
Julien Couvreur
ab0873759f
Update init.md 2020-04-26 08:55:22 -07:00
Julien Couvreur
cbf73854a6
Tweaks to init-only speclet (#3398) 2020-04-26 08:28:51 -07:00
Neal Gafter
f1d43aade5
Move specification from #2844 to proposals. (#3394) 2020-04-24 16:58:39 -07:00
Rikki Gibson
64566a1688
Update extending-partial-methods.md (#3386) 2020-04-23 13:06:39 -07:00
Julien Couvreur
fea3e4f374
Update modreq type name 2020-04-22 15:34:43 -07:00
Julien Couvreur
356ee04506
Rename simple programs (#3382) 2020-04-22 10:38:05 -07:00
David Pine
7f1c2a6fe4
Added details and examples for null guard guidance (#3381)
* Added details and examples for null guard guidance

* Update proposals/csharp-8.0/nullable-reference-types.md

Co-Authored-By: Bill Wagner <wiwagn@microsoft.com>

Co-authored-by: Bill Wagner <wiwagn@microsoft.com>
2020-04-22 13:11:13 -04:00
Jared Parsons
5c7cc61921
Extending partial methods (#3379)
* Copy from LDM proposal

* Partial Methods

* Put document in right directory

* Cleanup

* Typo

* Apply suggestions from code review

Co-Authored-By: Joseph Musser <me@jnm2.com>

Co-authored-by: Joseph Musser <me@jnm2.com>
2020-04-22 09:39:24 -07:00
Jared Parsons
3f177e90b1
Init only proposal document (#3367)
* Really rough draft

* modreq vs. attributes

Finished up the section detailing using attributes vs. modreq. Decided
to make it an open question for now vs. a consideration. I felt less
strongly about it after writing it. I still do feel quite passionate
though about this with validators.

* Summary and motivation added

Got the basic summary and motivation added. Feeling good about the
premise here.

* Detailed design section

This ended up persuading me that `init` should be on the `set` method,
not the property itself. There is just too much in common with the
`readonly` modifier here. Plus if we ever decide to include the concept
of `init` members as a general feature then `init` would be required to
be on the `set`.

* Encoding discussions written

* Almost there

* Initial draft completed

* Remove init type modifier

After discussion in LDM we've decide against this as a feature. Reasons
captured in the document.

* Updated all notes

* Respond to LDM decisions

This updates to the following two LDM decisions:
1. Disallow `init` on fields
1. Use `init` instead of `init set`

* Cleaned up emit scenarios

* Apply suggestions from code review

Co-Authored-By: Fred Silberberg <fred@silberberg.xyz>

* Addressed some feedback

* Finish up PR feedback

Finish up the PR feedback on the proposal

* Typo

* PR feedback

* Apply suggestions from code review

Lots of typos 😄

Co-Authored-By: Tiago César Oliveira <4922781+tiagocesar@users.noreply.github.com>
Co-Authored-By: Patrick Westerhoff <PatrickWesterhoff@gmail.com>
Co-Authored-By: Steve Ognibene <steve.ognibene@namely.com>
Co-Authored-By: Viacheslav Ivanov <viacheslav.ivanov@gmail.com>

* Apply suggestions from code review

Co-Authored-By: Julien Couvreur <jcouv@users.noreply.github.com>
Co-Authored-By: Fred Silberberg <fred@silberberg.xyz>

Co-authored-by: Fred Silberberg <fred@silberberg.xyz>
Co-authored-by: Tiago César Oliveira <4922781+tiagocesar@users.noreply.github.com>
Co-authored-by: Patrick Westerhoff <PatrickWesterhoff@gmail.com>
Co-authored-by: Steve Ognibene <steve.ognibene@namely.com>
Co-authored-by: Viacheslav Ivanov <viacheslav.ivanov@gmail.com>
Co-authored-by: Julien Couvreur <jcouv@users.noreply.github.com>
2020-04-20 20:52:29 -07:00
Fred Silberberg
71a1696e3a
Add metadata representation section for in and out (#3368) 2020-04-20 13:56:28 -07:00
Neal Gafter
a993c653f5
Add proposal for target-typed conditional expression. (#3363) 2020-04-20 11:46:15 -07:00
Neal Gafter
6901635c38
Add draft spec for C# pattern-matching changes. (#3361) 2020-04-17 16:03:52 -07:00
AlekseyTs
1ecebc412f
Allow returning an integer from a Simple Program (#3342) 2020-04-17 10:20:23 -07:00
Charles Stoner
583bdd220f
Native-sized integers proposal (#2833) 2020-04-14 12:39:37 -07:00
Andy Gocke
88202acd40
Update with expression in records-wip 2020-04-10 12:34:23 -07:00
Fred Silberberg
52624f54c0
Update function pointers proposal for binary operators. (#3348)
* Update function pointers proposal for binary operators.

* Update wording per feedback.
2020-04-09 14:33:18 -07:00
Andy Gocke
7f0c8e4eac
Keep parameterless record struct constructors 2020-04-07 17:29:48 -07:00
Andy Gocke
9143a30162
Update records-wip.md 2020-04-06 16:57:07 -07:00
Andy Gocke
1cca522b9b
Update records-wip.md 2020-04-06 16:56:29 -07:00
AlekseyTs
75ddc88a40
Limit top-level statements to a single compilation unit within a program (#3292)
Reflect LDM decision made on 2020-03-09 to limit top-level statements to a single compilation unit within a program.
2020-03-25 16:28:26 -07:00
Neal Gafter
64da1dcf00
target-typed new: reflect LDM decisions 2020-03-25 (#3311) 2020-03-25 15:40:49 -07:00
Andy Gocke
23172a7c6d
Add 'with' expression to the spec (#3282) 2020-03-25 15:36:47 -07:00
Neal Gafter
74c38d2950
Clean up the specification portion of target-typed new (#3310) 2020-03-25 10:06:34 -07:00
Julien Couvreur
7ea0b8e328
Update target-typed-new.md 2020-03-25 07:13:54 -07:00
Julien Couvreur
1f45494dec
Throw new() is allowed 2020-03-25 07:11:57 -07:00
Julien Couvreur
40bf00abdf
Update target-typed-new.md 2020-03-24 08:48:10 -07:00
Petr Kulikov
cf22e016c7
Ranges proposal: fix typos (#2836) 2020-03-23 08:42:41 -07:00
Neal Gafter
3fa28e4b54
Update shadowing-in-nested-functions.md 2020-03-19 17:39:49 -07:00