Consider this:
1 struct QueryCache final : BasePyObject, SupportsGcClear,
2 HasDict, SupportsWeakRefs
Without the "final", line 2 is classified as inher-cont. With the
"final", it gets topmost-intro-cont and wrong indentation.
Proposed fix:
diff --git a/lisp/progmodes/cc-engine.el b/lisp/progmodes/cc-engine.el
index b4c12896f3..121888d825 100644
--- a/lisp/progmodes/cc-engine.el
+++ b/lisp/progmodes/cc-engine.el
@@ -12268,6 +12268,9 @@ c-guess-basic-syntax
(if (eq (char-after) ?<)
(zerop (c-forward-token-2 1 t indent-point))
t)
+ (if (looking-at "final\\>[^_]")
+ (c-forward-token-2 1 nil indent-point)
+ t)
(eq (char-after) ?:))))
(goto-char placeholder)
(c-add-syntax 'inher-cont (c-point 'boi)))