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
.Self
instead of the binding name?Updates on proposals
impl fn
withoverride fn
Updates on moderation across our community spaces (Discord and GitHub)
Activity on toolchain
EvalLookupSingleImplWitness
?const
andpartial
need special handling.modernize-deprecated-headers
clang-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::ImplicitPeriodSelf
for use inside associated constant lookups. Avoids needing to provide.Self
in facets where it doesn't make sense..X
and.Self.X
the same on the right-hand side of a rewrite.CHECK
failure where thequery_self_inst_id
of aLookupImplWitness
is an int literal, which seems very surprising..Self
in #6036Activity on C++ interop
long long
,unsigned long long
, andlong double
. Should they be built in?long long
is sometimes an alias forint64_t
-- should Carbon follow that? If so it makes overloading hard.Core.Cpp.long_long
is always distinct, andCpp.long_long
might 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
ref
is 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 self
method to be callable on?ref
bindings in any other position) seems simpler for now.returned var
for parameters could address the use cases that want to callref self
methods on init expressions.T:! I(.Self)
have the same type asU:! I(T)
.T': .Self
inside the type ofT
. Not sure how to avoid it.FacetType
that points to the sameFacetType
with.Self
replaced?class Foo enum { ... }
instead ofenum class Foo
?base class Foo
, though, so we should probably be consistent.self
to mutating methods of a type we want to live in registers?inout
(if that exists), or use a copying value representation, or pass byref
and rely on the fact that refs arenocapture
by 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 = SomeStruct
that also constrains a particular field to have a particular form?StatusOr
so that the discriminator can return in a register while the contents are returned in memory. Leads to the idea of its methods takingself
as a struct form.fn CanFail(...) either -> T or -> Status
as 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