Skip to content

History / ImmutableCollectionsExplained

Revisions

  • Use `@NullMarked` instead of our custom `@ElementTypesAreNonnullByDefault` annotations. This is the next step toward [using JSpecify in Guava](https://github.com/jspecify/jspecify/issues/239#issuecomment-2204318808). At the end of that path, we'll be able to [remove our dependency on JSR-305](https://github.com/google/guava/issues/2960) (and on the Checker Framework's annotations), and we'll have one less blocker to [providing a `module-info`](https://github.com/google/guava/issues/2970). `@NullMarked` allows tools like kotlinc to produce errors for code like `ImmutableList<String?>`. (Before releasing this change, I'll conduct some further testing to more fully characterize the effects, both under Kotlin 2.1 and prior.) As we make further changes, it will allow kotlinc to detect even more nullness problems. We will make these changes in a series of incremental releases so that users can pick them up gradually, as we did inside Google. In simple cases, users may wish to pick up all the changes at once instead by upgrading straight from Guava 33.4.0 (or an earlier version) to Guava 33.4.4 (or whatever the version to make the final changes ends up being). RELNOTES=Replaced our custom `@ElementTypesAreNonnullByDefault` annotations with the JSpecify `@NullMarked` annotation. PiperOrigin-RevId: 708598410

    @cpovirk cpovirk committed Dec 21, 2024
  • New subsubheader "Unmodifiable is not immutable" that we can link to.

    @eamonnmcmanus eamonnmcmanus committed Oct 22, 2024
  • Add an anchor to reference `Collections.unmodifiableXXX`.

    @eamonnmcmanus eamonnmcmanus committed Oct 22, 2024
  • Begin tweaking Guava sources to satisfy Copybara. - Change from http to https (and from github.io links to guava.dev/truth.dev while I'm at it). - Remove go/ links. - Add whitespace around MOE directives. - Put MOE stripping directives alone in comments, moving other comment text to a separate comment. - One particular case of that: Put MOE intracomment stripping into HTML comments... even when it happens in non-Javadoc comments (i.e., /* */). It seems that Copybara wants for intracomment directives to stand alone in *some* kind of comment? - Add @GoogleInternal to some files that are currently omitted from Guava simply by not being in MOE filegroup targets. This is surely not a complete set of changes, but it's enough to get me started. RELNOTES=n/a ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=334840448

    @cpovirk cpovirk committed Oct 2, 2020
  • Fix md files that were incorrectly marked executable.

    @cgdecker cgdecker committed Oct 17, 2017
  • Sync changes from migration to internal pages. Primarily, fix up tons of Markdown stuff.

    @cgdecker cgdecker committed Oct 16, 2017
  • Updated ImmutableCollectionsExplained (markdown)

    @lowasser lowasser committed Sep 11, 2015
  • Update all or most Javadoc links to use new GitHub locations

    @cgdecker cgdecker committed Jun 12, 2015
  • Lowercase wiki link fragments, trying to avoid changing other link fragments.

    @cgdecker cgdecker committed Jun 8, 2015
  • Fix wiki links to use proper format to work on GitHub.

    @cgdecker cgdecker committed Jun 8, 2015
  • Initial commit of Guava wiki contents.

    @cgdecker cgdecker committed Jun 8, 2015