MAX Nightly 26.2.0.dev2026030716 Released

:astronaut: A new nightly version has been released! :astronaut:

See the quickstart guide for installation instructions: Quickstart | Modular

MAX changelog updates:

Mojo changelog updates:

  • [stdlib] Use conditional conformances for Set
  • [stdlib] Use conditional conformances for Variant
  • [docs] Split up the Mojo changelog into many files

Raw MAX diff: https://github.com/modular/modular/compare/ebb9cceffa004b0b3f967f0027a4fe374deca98d...9d1f8326600c93b3a8848c29afb350ccd6222a4e)>
Current Mojo changelog: https://github.com/modular/modular/blob/main/mojo/docs/nightly-changelog.md

@Peiming Could you elaborate a bit on the use-cases for default inferred parameters? I can’t think of where this would be helpful aside from places like comptime ImmPointer = Pointer[_], where I would expect to use comptime ImmPointer = Pointer[mut = False, _] instead. Is there somewhere aside from β€œwrite once” type aliases I should expect to want this?

`Origin` is the main motivation for the feature, eventually we might have something like

struct Origin[mut = False, _mlir_origin : xxx, //]: pass

# Origin[] will replace ImmutOrigin
# Origin[...]  means parametric Origin
# Origin[mut = True] will replace MutOrigin

Besides, since we already allow assigning value to inferred parameters, it feels like a natural extension to that as well.

5 Likes

Thank you, that makes sense.