Selected changesmerged Aug 25, 2026 – Aug 31, 2026
Unify code for PodGroups and CompositePodGroups in workloadForestGo · 383 + / 709 −
Introduces 32 new declarations in pkg/scheduler/framework/types.go.
Adds new systems design rather than adjusting what was there. Tests changed with it, with code of their own.
pkg/scheduler/framework/types.go ↗ · 24 files
@@ -1161,73 +1064,129 @@ func findNodeAndParent(curr, parent *PodGroupInfo, name string) (*PodGroupInfo, // It returns a flat slice of all QueuedPodInfo elements that were successfully removed. func (pgqi *QueuedPodGroupInfo) deleteSubtreePods(curr *PodGroupInfo) []*QueuedPodInfo { removedPods := make([]*QueuedPodInfo, 0)- if curr.GetPodGroup() != nil {- key := fwk.PodGroupKey(curr.Namespace, curr.Name)+ if curr.GetType() == fwk.PodGroupKeyType {+ key := fwk.PodGroupKey(curr.GetNamespace(), curr.GetName()) if pods, ok := pgqi.QueuedPodInfos[key]; ok { removedPods = append(removedPods, pods...) delete(pgqi.QueuedPodInfos, key) }+ return removedPods } for _, child := range curr.Children { removedPods = append(removedPods, pgqi.deleteSubtreePods(child)...) } return removedPods } -func newQueuedPodGroupInfo(pg *schedulingv1beta1.PodGroup) *QueuedPodGroupInfo {- return &QueuedPodGroupInfo{- PodGroupInfo: &PodGroupInfo{- Namespace: pg.Namespace,- Name: pg.Name,- Type: fwk.PodGroupKeyType,- PodGroup: pg,- Children: make([]*PodGroupInfo, 0),- },- QueuedPodInfos: make(map[fwk.EntityKey][]*QueuedPodInfo),- }-}--// PodGroupInfo is a wrapper around the PodGroup API object together with a list of pods that belong to the pod group.
fix(cli): don't duplicate passthrough args for deno deploy/sandboxRust · 79 + / 5 −
Introduces 4 new declarations in libs/cli_parser/src/tests_full.rs.
Adds new language design rather than adjusting what was there. Read the linked PR for the surrounding test context.
libs/cli_parser/src/tests_full.rs ↗ · 2 files
@@ -9767,6 +9767,79 @@ fn use_env_proxy_flags() { assert!(r.is_err()); } +#[test]+fn deploy_subcommand() {+ let r = flags_from_vec(svec!["deno", "deploy"]);+ assert_eq!(+ r.unwrap(),+ Flags {+ subcommand: DenoSubcommand::Deploy(DeployFlags { sandbox: false }),+ ..Flags::default()+ }+ );++ // `deploy` is a passthrough subcommand: every arg after it is forwarded+ // verbatim, exactly once. Regression test for a duplication bug where the+ // args were written to `argv` both by `deploy_parse` and by the generic+ // trailing-arg handling, turning `--prod` into `--prod --prod`.+ let r = flags_from_vec(svec!["deno", "deploy", "--prod"]);+ assert_eq!(+ r.unwrap(),+ Flags {+ subcommand: DenoSubcommand::Deploy(DeployFlags { sandbox: false }),+ argv: svec!["--prod"],+ ..Flags::default()+ }+ );++ let r =+ flags_from_vec(svec!["deno", "deploy", "--project=myapp", "--prod", "-y"]);+ assert_eq!(+ r.unwrap(),+ Flags {
Rename endpoint_slice_controller_changes to add _total suffixGo · 21 + / 2 −
Reworks 14 lines of existing logic in staging/src/k8s.io/endpointslice/metrics/metrics.go.
Changes how existing systems design behaves. Tests changed with it, with code of their own.
staging/src/k8s.io/endpointslice/metrics/metrics.go ↗ · 6 files
@@ -84,10 +84,25 @@ var ( ) // EndpointSliceChanges tracks the number of changes to Endpoint Slices.+ //+ // Deprecated: use EndpointSliceChangesTotal. The old name lacks the+ // conventional _total suffix required for counters. EndpointSliceChanges = metrics.NewCounterVec(+ &metrics.CounterOpts{+ Subsystem: EndpointSliceSubsystem,+ Name: "changes",+ Help: "Number of EndpointSlice changes. Deprecated in favor of endpoint_slice_controller_changes_total.",+ StabilityLevel: metrics.ALPHA,+ DeprecatedVersion: "1.38.0",+ },+ []string{"operation"},+ )++ // EndpointSliceChangesTotal tracks the number of changes to Endpoint Slices.+ EndpointSliceChangesTotal = metrics.NewCounterVec( &metrics.CounterOpts{ Subsystem: EndpointSliceSubsystem,- Name: "changes",+ Name: "changes_total", Help: "Number of EndpointSlice changes", StabilityLevel: metrics.ALPHA, },
LLVM wrapper cleanupsC++ · 8 + / 16 −
Reworks 18 lines of existing logic in compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp.
Changes how existing language design behaves. Read the linked PR for the surrounding test context.
compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp ↗ · 3 files
@@ -1334,22 +1332,20 @@ LLVMRustGetDiagInfoKind(LLVMDiagnosticInfoRef DI) { return toRust((DiagnosticKind)unwrap(DI)->getKind()); } -DEFINE_SIMPLE_CONVERSION_FUNCTIONS(SMDiagnostic, LLVMSMDiagnosticRef)--extern "C" LLVMSMDiagnosticRef LLVMRustGetSMDiagnostic(LLVMDiagnosticInfoRef DI,+extern "C" const SMDiagnostic *LLVMRustGetSMDiagnostic(LLVMDiagnosticInfoRef DI, uint64_t *Cookie) { llvm::DiagnosticInfoSrcMgr *SM = static_cast<llvm::DiagnosticInfoSrcMgr *>(unwrap(DI)); *Cookie = SM->getLocCookie();- return wrap(&SM->getSMDiag());+ return &SM->getSMDiag(); } extern "C" bool-LLVMRustUnpackSMDiagnostic(LLVMSMDiagnosticRef DRef, RustStringRef MessageOut,+LLVMRustUnpackSMDiagnostic(const SMDiagnostic *DRef, RustStringRef MessageOut, RustStringRef BufferOut, LLVMRustDiagnosticLevel *LevelOut, unsigned *LocOut, unsigned *RangesOut, size_t *NumRanges) {- SMDiagnostic &D = *unwrap(DRef);+ const SMDiagnostic &D = *DRef; auto MessageOS = RawRustStringOstream(MessageOut); MessageOS << D.getMessage();