|
|
Created:
4 years ago by eernst Modified:
4 years ago CC:
reviews_dartlang.org, floitsch, Lasse Reichstein Nielsen Target Ref:
refs/heads/master Visibility:
Public. |
DescriptionAdded CHANGELOG.md entry on syntax-only generic methods.
R=lrn@google.com, mit@google.com
Committed: https://github.com/dart-lang/sdk/commit/f2907070d87f2639b029730a8ca2a92b2ac26068
Patch Set 1 #
Total comments: 1
Patch Set 2 : Conciser #
Total comments: 1
Patch Set 3 : Even shorter form #Patch Set 4 : Whitespace fix #Messages
Total messages: 17 (5 generated)
eernst@google.com changed reviewers: + kevmoo@google.com
Here's an entry in the CHANGELOG.md describing the new generic method support in non-strong mode. I described it as 'with erasure' rather than 'syntax-only', because this feature does include scope analysis and similar elements that clearly go beyond syntax. In order to avoid disappointment among people who are eagerly awaiting full generic methods, it explicitly states that this isn't full-fledged, and then it briefly explains what developers _can_ do with it.
lrn@google.com changed reviewers: + lrn@google.com
https://codereview.chromium.org/2532863002/diff/1/CHANGELOG.md File CHANGELOG.md (right): https://codereview.chromium.org/2532863002/diff/1/CHANGELOG.md#newcode11 CHANGELOG.md:11: [informal specification](https://gist.github.com/eernstg/4353d7b4f669745bed3a5423e04a453c). I think this is somewhat too wordy for a CHANGES entry. Can we make it short and crisp? Don't say what it doesn't do, don't say what it might do later, just say what we have right now. Maybe something like: * Allow *writing* generic functions and function calls. The type arguments are removed at runtime, but the analyzer is allowed to use them for warnings. This allows writing strong-mode compatible code that can also be used by spec-mode programs. See [informal specification](https://gist.github.com/eernstg/4353d7b4f669745bed3a5423e04a453c) for more information.
On 2016/11/28 08:55:45, Lasse Reichstein Nielsen wrote: > https://codereview.chromium.org/2532863002/diff/1/CHANGELOG.md > File CHANGELOG.md (right): > > https://codereview.chromium.org/2532863002/diff/1/CHANGELOG.md#newcode11 > CHANGELOG.md:11: [informal > specification](https://gist.github.com/eernstg/4353d7b4f669745bed3a5423e04a453c). > I think this is somewhat too wordy for a CHANGES entry. Can we make it short and > crisp? Don't say what it doesn't do, don't say what it might do later, just say > what we have right now. > > Maybe something like: > > * Allow *writing* generic functions and function calls. The type arguments are > removed at runtime, but the analyzer is allowed to use them for warnings. This > allows writing strong-mode compatible code that can also be used by spec-mode > programs. > See [informal > specification](https://gist.github.com/eernstg/4353d7b4f669745bed3a5423e04a453c) > for more information. The entry is now considerably more concise.
On 2016/11/28 09:11:10, eernst wrote: > On 2016/11/28 08:55:45, Lasse Reichstein Nielsen wrote: > > https://codereview.chromium.org/2532863002/diff/1/CHANGELOG.md > > File CHANGELOG.md (right): > > > > https://codereview.chromium.org/2532863002/diff/1/CHANGELOG.md#newcode11 > > CHANGELOG.md:11: [informal > > > specification](https://gist.github.com/eernstg/4353d7b4f669745bed3a5423e04a453c). > > I think this is somewhat too wordy for a CHANGES entry. Can we make it short > and > > crisp? Don't say what it doesn't do, don't say what it might do later, just > say > > what we have right now. > > > > Maybe something like: > > > > * Allow *writing* generic functions and function calls. The type arguments are > > removed at runtime, but the analyzer is allowed to use them for warnings. This > > allows writing strong-mode compatible code that can also be used by spec-mode > > programs. > > See [informal > > > specification](https://gist.github.com/eernstg/4353d7b4f669745bed3a5423e04a453c) > > for more information. > > The entry is now considerably more concise. Thinking about 'This allows writing strong-mode compatible code that can also be used by spec-mode programs' which makes it longer again. That seems rather useful to many readers, but it could also be added to the informal spec.
This is a breaking change. We confirmed that it doesn't break anything in google3 (after one modification in google3), but `foo(a < b, c > (d))` will be parsed differently: It used to be an invocation passing 2 boolean arguments to `foo`, it is now an invocation passing one value to `foo` obtained by calling `a` with type arguments `b` and `c`, and value argument `d`. Shouldn't we include a remark on this in the change log entry? Lots of entries have `Breaking change` as their first words.
floitsch@google.com changed reviewers: + floitsch@google.com
DBC. https://codereview.chromium.org/2532863002/diff/20001/CHANGELOG.md File CHANGELOG.md (right): https://codereview.chromium.org/2532863002/diff/20001/CHANGELOG.md#newcode5 CHANGELOG.md:5: * Support generic methods with erasure. Allow declaring method type Support generic method syntax. The generic arguments are not yet used. See ... Something like this should be enough. I wouldn't mention the potential for breakage, since it's *extremely* unlikely.
Explanatory text now down to two sentences.
LGTM
LGTM
eernst@google.com changed reviewers: + mit@google.com
+mit
On 2016/11/30 12:11:34, eernst wrote: > +mit LGTM
Description was changed from ========== Added CHANGELOG.md entry on syntax-only generic methods. ========== to ========== Added CHANGELOG.md entry on syntax-only generic methods. R=lrn@google.com, mit@google.com Committed: https://github.com/dart-lang/sdk/commit/f2907070d87f2639b029730a8ca2a92b2ac26068 ==========
Message was sent while issue was closed.
Committed patchset #4 (id:60001) manually as f2907070d87f2639b029730a8ca2a92b2ac26068 (presubmit successful). |