Provide a way for derives to know if they were invoked with #[derive_const]
#118304
Labels
A-macros
Area: All kinds of macros (custom derive, macro_rules!, proc macros, ..)
A-trait-system
Area: Trait system
C-enhancement
Category: An issue proposing an enhancement or a PR with one.
F-const_trait_impl
`#![feature(const_trait_impl)]`
PG-const-traits
Project group: Const traits
S-blocked
Status: Blocked on something else such as an RFC or other implementation work.
T-compiler
Relevant to the compiler team, which will review and decide on the PR/issue.
T-libs-api
Relevant to the library API team, which will review and decide on the PR/issue.
WG-macros
Working group: Macros
As part of #67792,
#[derive_const]
is the current way to indicate that a derive should beimpl const Trait
rather thanimpl Trait
. However, this only works for built-in macros. It should be possible for end-user proc macros to know if they were invoked with#[derive_const]
, permitting the derive to emit the appropriate code.In my opinion, this could be an opaque type provided as an additional parameter to the derive implementation. That type would have methods to obtain constness and any other future extension (i.e. effects).
cc @fee1-dead per this Zulip comment.
@rustbot label +A-proc-macros +C-enhancement +F-const-trait-impl +T-libs-api
The text was updated successfully, but these errors were encountered: