Commit graph

375 commits

Author SHA1 Message Date
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
Fred Silberberg 45a1455732
Only allow static methods for applicable members (#3281)
* Only allow static methods for applicable members

This fixes a very similar problem to https://github.com/dotnet/csharplang/issues/3277, where this code is unable to be resolved:
```cs
interface I1{}
interface I2{}

public unsafe class C : I1, I2 {
    void M(I1 i) {}
    static void M(I2 i) {}
    public void M1() {
        delegate*<C, void> a = M; // Ambiguous because both M's are applicable
    }
}
```
With this change, the instance method M is not applicable, so there is no ambiguity.
2020-03-19 12:56:34 -07:00
Julien Couvreur a6c38525c2
Update target-typed-new.md (#1989) 2020-03-19 11:44:21 -07:00
Rikki Gibson 51e8d545c7
Add draft spec for local function attributes (#3198) 2020-03-17 13:58:50 -07:00
Neal Gafter 70a7286fac
Add placeholder specs for two features from C# 7.0 (#3270) 2020-03-16 18:23:28 -07:00
Bill Wagner 5688b13e66
clarify readonly set (#3266)
Fixes dotnet/docs#13841

I added a note (first recommendation) but did not make any additions for the second. That's covered in more of the tutorials and conceptual docs.
2020-03-13 09:48:25 -04:00
Fred Silberberg f3170512e7
Add conversions spec for function pointers (#3263)
* Add conversions spec for function pointers.

* Fix typo

Co-Authored-By: Jan Kotas <jkotas@microsoft.com>
2020-03-11 14:33:34 -07:00
Neal Gafter 21b0400850
Add placeholder documents for missing specifications. (#3261) 2020-03-11 11:48:23 -07:00
LouisFr81 5278336b61
Update tuple-equality.md (#2204) 2020-03-10 12:09:55 -07:00
Zhiliang Xu 3cb286fe1d
Fix a grammar issue (#3176) 2020-03-10 12:08:19 -07:00
Alexander Köplinger f530e937c5
Fix typos in function pointers proposal (#3238)
- Preventing -> Presenting
- Fix markdown link
2020-03-02 15:46:09 -08:00
Andy Gocke 2a6dffb607
Add spec for equality (#3189) 2020-02-29 14:21:55 -08:00
AlekseyTs 36b028f4d6
Clarify implicit nature of an async context within top-level statements 2020-02-14 15:24:47 -08:00
AlekseyTs e0031c5139
Add proposal for "Simple programs" feature (#3159) 2020-02-06 10:33:11 -08:00
Andy Gocke 19bc0f521e
Update records-wip.md (#3106) 2020-01-27 12:58:42 -08:00
Maher Jendoubi 02b535d712 Contributing: fix typos (#3125) 2020-01-24 18:22:11 -05:00
Julien Couvreur 6f24703c82
var infers a nullable type (#3097) 2020-01-21 22:49:40 -08:00
Andy Gocke e134bb7058
Add spec work for record ctor (#3076)
* Add spec work for record ctor

* Add more detail about constructor implementation
2020-01-15 16:40:26 -08:00