2026-01-19— Last Week in Carbon #6626
josh11b
announced in
Last Week in Carbon
Replies: 2 comments
-
|
Beta Was this translation helpful? Give feedback.
0 replies
-
|
Both compiler explorer and the toolchain have had changes in the meantime that broke things. Here's a working link (for now): https://carbon.godbolt.org/z/34s18WMMo
I have edited the original post as well.
|
Beta Was this translation helpful? Give feedback.
0 replies
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.
Uh oh!
There was an error while loading. Please reload this page.
-
News
std::vector: https://carbon.godbolt.org/z/34s18WMMoUpdates on leads issues
Updates on proposals
Updates on moderation across our community spaces (Discord and GitHub)
Activity on toolchain
Activity on C++ interop
CppCompat.Long32, where we need 2 different implementations depending on the type of the other operand: forN <= 32, the result should beLong32, forN > 32, it should beInt(N).interface LessThan(A:! IntLiteral, B:! IntLiteral); provide a custom witness whenA < Band constrain theLong32impls to cases for example whereN < 32).Activity on memory safety
||bars from alias sets in general.constmean for generics if it’s part of an alias set.conston a generic input alias set means the code is “generic over const”, it accepts const or mutable inputs.const.const, and whether a template is allowed to observe the true const-ness and potentially mutate out from underneath the const-generic function.const-generic alias set (pointer) and passes it to a callback without passing it as explicitlyconst, then callback can mutate so the function must assume mutation happens, and overlapping value bindings are invalidated by the call.GhostCellrepresents this, and S6.3 of this thesis discusses it: https://carleton.scholaris.ca/items/45f84fac-f77d-4a73-85eb-968ac7fab902/fullownreferences, maybe we would want to leverage the value type representation for those references, if we don't always need access to the address?Other active discussions
These include Discord Chat, GitHub Discussions, or open discussion sessions.
impl forall [N:! Core.IntLiteral] Core.Int(N) as Z where N <= 32?extend require implsextend the containing name scope. The found interface does not have a specific that matches what we find later with impl lookup. The former is not specialized for the self-type of the name lookup, whereas the impl lookup result is; the mismatch makes impl lookup fail.Selfin the parameters of a named constraint, but it should only be required in interfaces, though includes interfaces found through a named constraint.Selfinside the interface’s definition, which allows a specific to replace it.require implsrequiring an interface that constrainsSelfbeyondtype. Discussion if it should be diagnosed as an error accepted with implied constraints. Belief that it would be nice to accept it and extend the design’s implied constraints to apply to named constraints (or interfaces?) that contain arequire implsdeclaration.getelementptrinstructions in the semir.FormInstIdfor instructions of typeFormlike we haveTypeInstIdfor instructions of typetype?cc_library_wrappercome from? Turns out github search doesn’t index third-party code in a repo.returned varvisible outside the function on the variable being initialized by that function? We will model both thereturned varand thevarbeing initialized by it as being the same object.RSS Feed for "Last Week in Carbon" here
Beta Was this translation helpful? Give feedback.
All reactions