2025-09-15 — Last Week in Carbon #6066
josh11b
announced in
Last Week in Carbon
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Updates on leads issues
.Selfinstead of the binding name?Updates on proposals
impl fnwithoverride fnUpdates on moderation across our community spaces (Discord and GitHub)
Activity on toolchain
EvalLookupSingleImplWitness?constandpartialneed special handling.modernize-deprecated-headersclang-tidy check?<time.h>-><ctime>, which seems counterproductive because then we'd arguably have to say e.g.std::time_t.{{.*}}to exclude non-portable parts of the test.NameId::ImplicitPeriodSelffor use inside associated constant lookups. Avoids needing to provide.Selfin facets where it doesn't make sense..Xand.Self.Xthe same on the right-hand side of a rewrite.CHECKfailure where thequery_self_inst_idof aLookupImplWitnessis an int literal, which seems very surprising..Selfin #6036Activity on C++ interop
long long,unsigned long long, andlong double. Should they be built in?long longis sometimes an alias forint64_t-- should Carbon follow that? If so it makes overloading hard.Core.Cpp.long_longis always distinct, andCpp.long_longmight or might not use it?EXTRA-ARGS: --target=x86_64-linux-gnu.--target=x86_64-pc-windows-msvc --clang-arg=-fno-PIE.Activity on memory safety
refis an effect, or at least we have added most of the machinery we need for effects to handleref. C++ users are fine with the separate references and pointer types. First is ergonomic, second is flexible/expressive/capable.Other active discussions
These include Discord Chat, GitHub Discussions, or open discussion sessions.
ref selfmethod to be callable on?refbindings in any other position) seems simpler for now.returned varfor parameters could address the use cases that want to callref selfmethods on init expressions.T:! I(.Self)have the same type asU:! I(T).T': .Selfinside the type ofT. Not sure how to avoid it.FacetTypethat points to the sameFacetTypewith.Selfreplaced?class Foo enum { ... }instead ofenum class Foo?base class Foo, though, so we should probably be consistent.selfto mutating methods of a type we want to live in registers?inout(if that exists), or use a copying value representation, or pass byrefand rely on the fact that refs arenocaptureby default.{.f = T}for types seems surprising, and{.f: v}for values would make:inconsistent.{.f = Form}in the "type" position, as proposed by #5389.Core.Form where .type = SomeStructthat also constrains a particular field to have a particular form?StatusOrso that the discriminator can return in a register while the contents are returned in memory. Leads to the idea of its methods takingselfas a struct form.fn CanFail(...) either -> T or -> Statusas recently discussed.fn CanFail(...) -> StatusOr(T) either .Ok init(x) or .Error;gives us nominal enum forms while keeping the structure visible in the signature.StatusOr(T:! Type) = .Ok(T) | .Error(Status).RSS Feed for "Last Week in Carbon" here
Beta Was this translation helpful? Give feedback.
All reactions