Selected changesmerged Nov 8, 2026
[tiny] Tweak incorrect `#[default]` errorsRust · 41 + / 8 −
Introduces 5 new declarations in compiler/rustc_builtin_macros/src/deriving/default.rs.
Adds new language design rather than adjusting what was there. Tests changed with it, with code of their own.
compiler/rustc_builtin_macros/src/deriving/default.rs ↗ · 10 files
@@ -298,17 +307,27 @@ struct DetectNonVariantDefaultAttr<'a, 'b> { cx: &'a ExtCtxt<'b>, } -impl<'a, 'b> rustc_ast::visit::Visitor<'a> for DetectNonVariantDefaultAttr<'a, 'b> {- fn visit_attribute(&mut self, attr: &'a rustc_ast::Attribute) {+impl<'a, 'b> DetectNonVariantDefaultAttr<'a, 'b> {+ fn deny_default(&mut self, span: Span, attr: &'a rustc_ast::Attribute, is_item: bool) { if attr.has_name(kw::Default) {- let post = if self.cx.ecfg.features.default_field_values() {+ let post = if self.cx.ecfg.features.default_field_values() && is_item { " or variants where every field has a default value" } else { "" };- self.cx.dcx().emit_err(diagnostics::NonUnitDefault { span: attr.span, post });+ self.cx.dcx().emit_err(diagnostics::NonUnitDefault {+ span,+ default_span: attr.span,+ post,+ is_item: if is_item { Some(()) } else { None },+ }); }+ }+} +impl<'a, 'b> rustc_ast::visit::Visitor<'a> for DetectNonVariantDefaultAttr<'a, 'b> {+ fn visit_attribute(&mut self, attr: &'a rustc_ast::Attribute) {+ self.deny_default(attr.span, attr, false); rustc_ast::visit::walk_attribute(self, attr); } fn visit_variant(&mut self, v: &'a rustc_ast::Variant) {
ENH: add axis keyword to ExtensionArray._concat_same_type (GH#47514)Python · 21 + / 14 −
Introduces 4 new declarations in pandas/core/dtypes/concat.py.
Adds new language design rather than adjusting what was there. Tests changed with it, with code of their own.
pandas/core/dtypes/concat.py ↗ · 11 files
@@ -104,12 +104,7 @@ def concat_compat( # e.g. DatetimeArray # NB: We are assuming here that ensure_wrapped_if_arraylike has # been called where relevant.- return obj._concat_same_type(- # error: Unexpected keyword argument "axis" for "_concat_same_type"- # of "ExtensionArray"- to_concat_eas,- axis=axis, # type: ignore[call-arg]- )+ return obj._concat_same_type(to_concat_eas, axis=axis) # If all arrays are empty, there's nothing to convert, just short-cut to # the concatenation, #3121.
Add id to watcher Go · 19 + / 17 −
Introduces 6 new declarations in staging/src/k8s.io/apiserver/pkg/storage/cacher/cacher.go.
Adds new systems design rather than adjusting what was there. Tests changed with it, with code of their own.
staging/src/k8s.io/apiserver/pkg/storage/cacher/cacher.go ↗ · 3 files
@@ -155,30 +155,30 @@ type indexedWatchers struct { indexWatchers map[string]watchersMap } -func (i *indexedWatchers) addWatcher(w *cacheWatcher, number int) {+func (i *indexedWatchers) addWatcher(w *cacheWatcher) { if w.selector.indexValue != nil { if _, ok := i.indexWatchers[*w.selector.indexValue]; !ok { i.indexWatchers[*w.selector.indexValue] = watchersMap{} }- i.indexWatchers[*w.selector.indexValue].addWatcher(w, number)+ i.indexWatchers[*w.selector.indexValue].addWatcher(w) } else { scopedWatchers, ok := i.scopeWatchers[w.selector.scope] if !ok { scopedWatchers = watchersMap{} i.scopeWatchers[w.selector.scope] = scopedWatchers }- scopedWatchers.addWatcher(w, number)+ scopedWatchers.addWatcher(w) } } -func (i *indexedWatchers) deleteWatcher(w *cacheWatcher, number int) {+func (i *indexedWatchers) deleteWatcher(w *cacheWatcher) { if w.selector.indexValue != nil {- i.indexWatchers[*w.selector.indexValue].deleteWatcher(number)+ i.indexWatchers[*w.selector.indexValue].deleteWatcher(w) if len(i.indexWatchers[*w.selector.indexValue]) == 0 { delete(i.indexWatchers, *w.selector.indexValue) } } else {- i.scopeWatchers[w.selector.scope].deleteWatcher(number)+ i.scopeWatchers[w.selector.scope].deleteWatcher(w)
Turbopack: support turbopackIgnore on new URL()Rust · 73 + / 7 −
Introduces 1 new declaration in turbopack/crates/turbopack-core/src/resolve/error.rs.
Adds new framework internals rather than adjusting what was there. Tests changed with it, with code of their own.
turbopack/crates/turbopack-core/src/resolve/error.rs ↗ · 12 files
@@ -216,12 +217,54 @@ async fn emit_unresolvable_issue( resolve_options: resolve_options.to_resolved().await?, error_message: None, source,+ hint: resolve_hint(&reference_type, request).await?, } .resolved_cell() .emit(); Ok(()) } +/// Suggests a fix for a request that failed because part of it is only known at runtime. Only+/// covers requests that accept a `turbopackIgnore` comment.+async fn resolve_hint(+ reference_type: &ReferenceType,+ request: Vc<Request>,+) -> Result<Option<RcStr>> {+ let example = match reference_type {+ ReferenceType::Url(UrlReferenceSubType::EcmaScriptNewUrl) => {+ "new URL(/* turbopackIgnore: true */ url, import.meta.url)"+ }+ ReferenceType::EcmaScriptModules(+ EcmaScriptModulesReferenceSubType::DynamicImport+ | EcmaScriptModulesReferenceSubType::LazyDynamicImport,+ ) => "import(/* turbopackIgnore: true */ path)",+ ReferenceType::CommonJs(_) => "require(/* turbopackIgnore: true */ path)",+ _ => return Ok(None),+ };+ let pattern = request.request_pattern().await?;+ if !pattern.has_dynamic_parts() {+ return Ok(None);+ }+ // The request failed as a whole, so none of its static alternatives resolved. They are+ // usually values the analyzer couldn't rule out, e.g. `'undefined'` for an unset option.
llama, mtmd: follow the reference precision of ggml_prec_set_acc callsC++ · 15 + / 15 −
Reworks 10 lines of existing logic in src/llama-graph.cpp.
Changes how existing runtime behaves. Tests changed with it, with code of their own.
src/llama-graph.cpp ↗ · 17 files
@@ -2169,8 +2169,8 @@ ggml_tensor * llm_graph_context::build_ffn( if (down) { cur = build_lora_mm(down, cur); if (arch == LLM_ARCH_GLM4 || arch == LLM_ARCH_GLM4_MOE || arch == LLM_ARCH_JAIS2) {- // GLM4, GLM4_MOE, and JAIS2 seem to have numerical issues with half-precision accumulators- ggml_prec_set_acc(cur, GGML_PREC_F32);+ // GLM4, GLM4_MOE, and JAIS2 have numerical issues with F16 accumulators+ ggml_prec_set_acc(cur, GGML_PREC_BF16); } }