Releases: carbon-language/carbon-lang
Releases · carbon-language/carbon-lang
Nightly build 2024.11.21
What's Changed
Toolchain and implementation changes 🛠️
- Have sh_test directly invoke benchmarks by @jonmeow in #4552
- Split deferred node traversal out from check.cpp by @jonmeow in #4559
- Reject/error on base declarations that appear after field declarations by @dwblaikie in #4553
- Adds per-builtin instructions, removing
BuiltinInst
by @jonmeow in #4556
Full Changelog: v0.0.0-0.nightly.2024.11.20...v0.0.0-0.nightly.2024.11.21
Nightly build 2024.11.20
What's Changed
Toolchain and implementation changes 🛠️
Full Changelog: v0.0.0-0.nightly.2024.11.19...v0.0.0-0.nightly.2024.11.20
Nightly build 2024.11.19
What's Changed
Toolchain and implementation changes 🛠️
- Allow
extend adapt
of non-class types. by @zygoloid in #4544 - Suppress readability-redundant-member-init by @danakj in #4538
- Propagate
llvm::vfs::FileSystem
fromdriver_env
to Clang by @josh11b in #4537 - Update pre-commit config by @jonmeow in #4549
- Drop std:: on size_t in various spots. by @jonmeow in #4546
- Remove the special case for
i32
. by @zygoloid in #4543
Documentation changes 📝
- Correct name of ComparableFromDifference in Generics details by @danakj in #4547
- Use a single
=
in 'impl as where' to assign an associated constant by @danakj in #4548 - Change prettier to a direct node use. by @jonmeow in #4550
Full Changelog: v0.0.0-0.nightly.2024.11.16...v0.0.0-0.nightly.2024.11.19
Nightly build 2024.11.18
What's Changed
Toolchain and implementation changes 🛠️
- Update LLVM by @josh11b in #4530
- Add support for scoped timings. by @jonmeow in #4533
- Use std::ranges::any_of instead of std::any_of by @danakj in #4539
- Reduce the size of formatted SemIR. by @zygoloid in #4534
- Add prelude support for implicit conversion between integer literals and sized integer types. by @zygoloid in #4525
- Convert array bounds to
IntLiteral
. by @zygoloid in #4526 - Use llvm::any_of instead of std::ranges::any_of by @danakj in #4542
- Add blank lines betweeen EntityWithParamsBase members. by @jonmeow in #4536
- Represent integer literals as
IntLiteral
not asi32
. by @zygoloid in #4532
Infrastructure changes 🏗️
- Try running 'bazel cquery //...' before target-determinator by @jonmeow in #4531
- Suppress readability-enum-initial-value in clang-tidy by @danakj in #4540
- Reconstruct rational for disabled clang-tidy checks. by @jonmeow in #4541
Full Changelog: v0.0.0-0.nightly.2024.11.15...v0.0.0-0.nightly.2024.11.18
Nightly build 2024.11.17
What's Changed
Toolchain and implementation changes 🛠️
- Update LLVM by @josh11b in #4530
- Add support for scoped timings. by @jonmeow in #4533
- Use std::ranges::any_of instead of std::any_of by @danakj in #4539
- Reduce the size of formatted SemIR. by @zygoloid in #4534
- Add prelude support for implicit conversion between integer literals and sized integer types. by @zygoloid in #4525
- Convert array bounds to
IntLiteral
. by @zygoloid in #4526 - Use llvm::any_of instead of std::ranges::any_of by @danakj in #4542
- Add blank lines betweeen EntityWithParamsBase members. by @jonmeow in #4536
- Represent integer literals as
IntLiteral
not asi32
. by @zygoloid in #4532
Infrastructure changes 🏗️
- Try running 'bazel cquery //...' before target-determinator by @jonmeow in #4531
- Suppress readability-enum-initial-value in clang-tidy by @danakj in #4540
- Reconstruct rational for disabled clang-tidy checks. by @jonmeow in #4541
Full Changelog: v0.0.0-0.nightly.2024.11.15...v0.0.0-0.nightly.2024.11.17
Nightly build 2024.11.16
What's Changed
Toolchain and implementation changes 🛠️
- Update LLVM by @josh11b in #4530
- Add support for scoped timings. by @jonmeow in #4533
- Use std::ranges::any_of instead of std::any_of by @danakj in #4539
- Reduce the size of formatted SemIR. by @zygoloid in #4534
- Add prelude support for implicit conversion between integer literals and sized integer types. by @zygoloid in #4525
- Convert array bounds to
IntLiteral
. by @zygoloid in #4526 - Use llvm::any_of instead of std::ranges::any_of by @danakj in #4542
- Add blank lines betweeen EntityWithParamsBase members. by @jonmeow in #4536
- Represent integer literals as
IntLiteral
not asi32
. by @zygoloid in #4532
Infrastructure changes 🏗️
- Try running 'bazel cquery //...' before target-determinator by @jonmeow in #4531
- Suppress readability-enum-initial-value in clang-tidy by @danakj in #4540
- Reconstruct rational for disabled clang-tidy checks. by @jonmeow in #4541
Full Changelog: v0.0.0-0.nightly.2024.11.15...v0.0.0-0.nightly.2024.11.16
Nightly build 2024.11.15
What's Changed
Toolchain and implementation changes 🛠️
- Fix up busybox detection for relative symlinks by @jonmeow in #4522
- Test an absolute symlink by @jonmeow in #4528
- Add a small lowering test with an imported argument. by @jonmeow in #4529
Full Changelog: v0.0.0-0.nightly.2024.11.14...v0.0.0-0.nightly.2024.11.15
Nightly build 2024.11.14
What's Changed
Toolchain and implementation changes 🛠️
- Test
class
with multipleextend
by @josh11b in #4504 - Name empty tuples distinctly in SemIR. by @jonmeow in #4503
- Remove forward references from binding patterns by @geoffromer in #4494
- Replace FIXME with TODO in toolchain code by @geoffromer in #4506
- Change the bazel-out structure to avoid busybox symlinks. by @jonmeow in #4505
- Replace
InterfaceType
withFacetType
by @josh11b in #4499 - Don't eagerly materialize an initializing expression used as the object in a compound member access. by @zygoloid in #4496
- Remove some single-interface restrictions from some uses of facet types by @josh11b in #4508
- Fix use-after-free printing the name of an interface that might have been invalidated by lazy import. by @zygoloid in #4509
- Include the arguments for a generic class or interface in diagnostics. by @zygoloid in #4511
- Preserve the is_dynamic property of classes when importing them by @dwblaikie in #4501
- Add missing
#include
by @josh11b in #4513 - Look in libraries associated with the interface by @josh11b in #4510
- Collect timing data per unit for each phase by @samestep in #4512
- Add
facet_types()
accessor toCheck::Context
by @josh11b in #4518 - Canonicalize away bit width and embed small integers into
IntId
s by @chandlerc in #4487 - Add diagnostic coverage, remove possibly-unreachable unary op diagnostic by @jonmeow in #4519
- Follow-up to #4487 to fix file names by @chandlerc in #4520
- Fix bazel-bin invocations of run_tool by @jonmeow in #4521
- Support extended scopes that are parameterized types by @josh11b in #4524
- Add builtin for performing checked conversion between integer types. by @zygoloid in #4523
Full Changelog: v0.0.0-0.nightly.2024.11.08...v0.0.0-0.nightly.2024.11.14
Nightly build 2024.11.08
What's Changed
Toolchain and implementation changes 🛠️
- Remove verbose formatting of instructions on crash messages. by @jonmeow in #4495
- Support deduction of the types of struct fields by @josh11b in #4500
- Make empty ids for all block types by @jonmeow in #4502
Full Changelog: v0.0.0-0.nightly.2024.11.07...v0.0.0-0.nightly.2024.11.08
Nightly build 2024.11.07
What's Changed
Toolchain and implementation changes 🛠️
- Implement a basic busybox for carbon/clang. by @jonmeow in #4406
- Refactor run_tool by @jonmeow in #4459
- Elide prelude components in the IR formatter. by @jonmeow in #4453
- Switch tar verification to a manifest comparison. by @jonmeow in #4458
- Fix deduction crash for function with missing parameters. by @jonmeow in #4461
- Switch eval of ArrayIndex to use CARBON_KIND by @jonmeow in #4462
- Don't create a compile time binding after CompileTimeBindingInVarDecl by @jonmeow in #4463
- Fix lowering of
specific_function
s referring to methods. by @zygoloid in #4464 - Add import support for
specific_function
constants. by @zygoloid in #4465 - Add import support for
int_type
. by @zygoloid in #4466 - Fix lowering of a conversion from a type with a pointer value representation to a type with a copy value representation. by @zygoloid in #4467
- Exempt the
clang
subcommand when fuzzing. by @chandlerc in #4468 - Move the language server into toolchain's busybox. by @jonmeow in #4469
- Model return slot as parameter in lowering by @geoffromer in #4457
- Fix use-after-free in return statement handling. by @zygoloid in #4472
- Rename
IntLiteral
toIntValue
. by @zygoloid in #4475 - Rename
BigInt
toIntLiteral
. by @zygoloid in #4476 - Start avoiding parse diagnostics on error tokens by @chandlerc in #4431
- Refactor value store code to use separate files. by @chandlerc in #4477
- Insert a
value_of_initializer
after a call toImplicitAs
where possible. by @zygoloid in #4473 - Refactor struct literal parse nodes. by @jonmeow in #4470
- Remove CalleeParamsInfo by @jonmeow in #4452
- Fix a case of
InvalidParse
withhas_error = false
by @josh11b in #4481 - Add facet type values and an instruction that produces them by @josh11b in #4460
- Refactor subcommand addition for sharing. by @jonmeow in #4474
- Require that InvalidParse nodes must have an error by @jonmeow in #4482
- Abort rather than exiting "normally" if an autoupdate step crashes. by @zygoloid in #4483
- Don't track generic insts created while importing an impl. by @zygoloid in #4485
- Add test coverage for
ImplOfUndefinedInterface
diagnostic by @josh11b in #4484 - Add capitalization and punctuation to TODO comments by @josh11b in #4486
- Always call MemUsage::Collect to collect metrics from a field by @danakj in #4480
- Fix crash lowering an imported impl method. by @zygoloid in #4489
- Don't copy maps and sets when computing their memory usage. by @zygoloid in #4491
- Clean up some CopyOnWriteBlock details by @jonmeow in #4493
- Don't create instructions for implicit constants. by @zygoloid in #4497
- Skip vptr when performing object initialization by @dwblaikie in #4490
- Convert StructTypeField to a specific type. by @jonmeow in #4492
Documentation changes 📝
Infrastructure changes 🏗️
- Replace dict.update call with explicit dict by @jonmeow in #4455
- Set
.python-version
to 3.10 for pyenv users by @samestep in #4456 - Fix the command used for nightly release versions. by @jonmeow in #4498
Other changes
New Contributors
Full Changelog: v0.0.0-0.nightly.2024.10.30...v0.0.0-0.nightly.2024.11.07