Opened 6 years ago

Closed 5 years ago

#5790 closed Bugs (fixed)

call_traits::param_type generates const references for enums

Reported by: defaultryan+boost@… Owned by: John Maddock
Milestone: To Be Determined Component: call_traits
Version: Boost 1.47.0 Severity: Problem
Keywords: param_type enum is_enum Cc:


call_traits<SomeEnum?>::param_type currently evaluates to "const SomeEnum?&" instead of "const SomeEnum?".

Seems that since call_traits is using is_arithmetic to funnel down into ct_imp2<T, true>, we could also use is_enum to send us down the same path and get the desired behavior.

Attachments (0)

Change History (4)

comment:1 Changed 6 years ago by defaultryan+boost@…

More specifically, change line 82 from



::boost::is_arithmetic<T>::value || ::boost::is_enum<T>::value

comment:2 Changed 6 years ago by John Maddock

Resolution: fixed
Status: newclosed

(In [73953]) Change call_traits to pass enum's by value. Fixes #5790.

comment:3 Changed 5 years ago by anonymous

Resolution: fixed
Status: closedreopened

Reopening because this hasn't been merged to release yet.

comment:4 Changed 5 years ago by John Maddock

Resolution: fixed
Status: reopenedclosed

(In [80433]) Merge changes from Trunk. Fixes #5790.

Modify Ticket

Change Properties
Set your email in Preferences
as closed The owner will remain John Maddock.
The resolution will be deleted.

Add Comment

E-mail address and name can be saved in the Preferences.

Note: See TracTickets for help on using tickets.