David P. Baker

Results 136 comments of David P. Baker

Thinking a little more about `foo.assertThat`. I think, if we were to do it, it should not take a subject-receiver lambda, but instead a subject-parameter lambda so that it reads...

I'm on the side against making the assertion an extension function on the thing being asserted about. I like the distinction between the assertion context and a normal "method" on...

Thinking further, I now think the right idiom is: ```kt long.expression().let { assertThat(it).isNotNull() assertThat(it).isNotEqualTo(bar) assertThat(it).isSomeOtherThing() } ``` That is very close to what I suggested above about using "it", and...

Should we simply document those two strategies (`apply` and `let`)? Should we prefer one over the other? I don't see a strong argument for a new API.

**Current decision**: JSpecify will require conformant tools to recognize nullness issues even when there are also Java unchecked warnings for the same reason. Tools do not have to report them...

I'm not sure it's worth the time now. When we update the specification, its form and structure might change. (For instance, we might number the sections, or it might be...

I'm still not convinced this is worth doing now. I'd rather not put anything else in the way of writing more tests.

The current (as of 2024-01-24) names are Package: `org.jspecify.annotations` Module: [`org.jspecify`](https://github.com/jspecify/jspecify/blob/6b15f019a53f1c551c21dc3d4020faa44311fd93/src/java9/java/module-info.java#L16) Artifact: [`org.jspecify:jspecify`](https://github.com/jspecify/jspecify/blob/6b15f019a53f1c551c21dc3d4020faa44311fd93/gradle/publish.gradle#L11-L12) Stephen Colebourne [suggests](https://blog.joda.org/2017/04/java-se-9-jpms-module-naming.html) the module name should be either `org.jspecify` or `org.jspecify.annotations`, and that the artifact ID...

I may not understand something: Is it a problem to have two modules `org.jspecify` and `org.jspecify.foo`? Or is there no other constraint than that the set of types within each...

**Current decision**: This feature is not required for JSpecify 1.0. **Proposal for 1.0: Finalize the current decision.** If you agree, please add a thumbs-up emoji (👍) to this comment. If...