Skip to content

[CI Only] merge of enabling explicit nulls by default and representing flexible types using applied types - #27008

Draft
olhotak wants to merge 25 commits into
scala:mainfrom
dotty-staging:merge-26985-27004
Draft

olhotak wants to merge 25 commits into
scala:mainfrom
dotty-staging:merge-26985-27004

Conversation

@olhotak

@olhotak olhotak commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

CI only, do not merge.

The purpose is to run the CI on #27004 but with explicit nulls turned on by default (#26985). This is a merge of those two PRs.

HarrisL2 and others added 24 commits September 9, 2026 09:11
Inside QuotesImpl the opaque `type FlexibleType = Types.AppliedType` is
transparent, so `case FlexibleType(tp)` type-tests against AppliedType and
matched any applied type. Returning `Some(...)` unconditionally then made the
pattern irrefutable, and the inner `.get` threw NoSuchElementException for
non-flexible applied types (e.g. List[Int], Option[String]) in
TypeReprMethods.typeArgs.

Quotes.scala already declares this as `Option[TypeRepr]`, so returning the
dotc-level result directly is both simpler and within the published API.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
# Conflicts:
#	compiler/src/dotty/tools/dotc/printing/PlainPrinter.scala
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants