# Final associated constants?

**URL:** <https://internals.rust-lang.org/t/final-associated-constants/24655>\
**Category:** Uncategorized\
**Created:** [October 5, 2026, 11:31pm UTC](https://internals.rust-lang.org/t/final-associated-constants/24655 "2026-10-05T23:31:21Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![nazar-pc](https://sea2.discourse-cdn.com/flex002/user_avatar/internals.rust-lang.org/nazar-pc/32/11386_2.png) [@nazar-pc](https://internals.rust-lang.org/u/nazar-pc)\
**Post date:** [October 5, 2026, 11:31pm UTC](https://internals.rust-lang.org/t/final-associated-constants/24655/1 "2026-10-05T23:31:22Z")

</div>

[Tracking issue for RFC 3678: Trait method impl restrictions (`final` methods) · Issue #131179 · rust-lang/rust · GitHub](https://github.com/rust-lang/rust/issues/131179) is about `final` methods, but I think it might be equally valuable for associated constants.

For example, I currently have a piece of code that looks like this (nightly, not sure if it works on stable):

```rust
pub trait InstructionIsa<Cfg>: Instruction {
    // ...

    const ISA_STRING: &'static str = const {
        isa_string(
            Self::Reg::XLEN,
            &InheritedIsa::new::<Self, Cfg>(),
            Self::IMPLEMENTED_EXTENSIONS,
        )
    }
    .unsize()
    .as_str();

```

And I'm not sure I want implementers to be able to override its implementation, but I can only avoid that if I convert it to a method, which is unfortunate.

So the question is: should final associated constants be a thing too?
