- 
                Notifications
    
You must be signed in to change notification settings  - Fork 13.9k
 
Closed
Labels
A-const-evalArea: Constant evaluation, covers all const contexts (static, const fn, ...)Area: Constant evaluation, covers all const contexts (static, const fn, ...)B-unstableBlocker: Implemented in the nightly compiler and unstable.Blocker: Implemented in the nightly compiler and unstable.C-tracking-issueCategory: An issue tracking the progress of sth. like the implementation of an RFCCategory: An issue tracking the progress of sth. like the implementation of an RFCLibs-TrackedLibs issues that are tracked on the team's project board.Libs issues that are tracked on the team's project board.T-langRelevant to the language teamRelevant to the language teamT-libs-apiRelevant to the library API team, which will review and decide on the PR/issue.Relevant to the library API team, which will review and decide on the PR/issue.
Description
(none exhaustive) list of libcore::num, which should be a const fn:
feature = const_int_rotate-  
rotate_leftAdd more const int ops #53697 -- stabilized -  
rotate_rightAdd more const int ops #53697 -- stabilized 
-  
 feature = const_checked_int_methods-  
checked_add[1] Make more arithmetic functions unstably const #68809 -  
checked_sub[1] Make more arithmetic functions unstably const #68809 -  
checked_mul[1] Make more arithmetic functions unstably const #68809 -  
checked_div[1] Make more arithmetic functions unstably const #68809 -  
checked_rem[1] Make more arithmetic functions unstably const #68809 -  
checked_neg[1] Make more arithmetic functions unstably const #68809 -  
checked_shl[1] Make more arithmetic functions unstably const #68809 -  
checked_shr[1] Make more arithmetic functions unstably const #68809 -  
checked_abs[1] Make more arithmetic functions unstably const #68809 
-  
 feature = const_saturating_int_methods-  
saturating_addMakesaturating_addandsaturating_subconstfunctions #58246 -  
saturating_subMakesaturating_addandsaturating_subconstfunctions #58246 -  
saturating_mul[1] Make more arithmetic functions unstably const #68809 
-  
 feature = const_int_wrapping-  
wrapping_addAdd more const int ops #53697 -- stabilized -  
wrapping_subAdd more const int ops #53697 -- stabilized -  
wrapping_mulAdd more const int ops #53697 -- stabilized -  
wrapping_div[1] Make more arithmetic functions unstably const #68809 -  
wrapping_rem[1] Make more arithmetic functions unstably const #68809 -  
wrapping_negMake overflowing and wrapping negation const #58044 -- stabilized -  
wrapping_shlAdd more const int ops #53697 -- stabilized -  
wrapping_shrAdd more const int ops #53697 -- stabilized -  
wrapping_absMakeabs,wrapping_abs,overflowing_absconst functions #63786 -- stabilized in 1.39 
-  
 feature = const_int_overflowing-  
overflowing_addAdd more const int ops #53697 -  
overflowing_subAdd more const int ops #53697 -  
overflowing_mulAdd more const int ops #53697 -  
overflowing_div[1] Make more arithmetic functions unstably const #68809 -  
overflowing_rem[1] Make more arithmetic functions unstably const #68809 -  
overflowing_negMake overflowing and wrapping negation const #58044 -- stabilized -  
overflowing_shlAdd more const int ops #53697 -  
overflowing_shrAdd more const int ops #53697 -  
overflowing_absMakeabs,wrapping_abs,overflowing_absconst functions #63786 -- stabilized in 1.39 
-  
 feature = const_euclidean_int_methods-  
checked_div_euc[1] Make more arithmetic functions unstably const #68809 -  
checked_mod_euc[1] Make more arithmetic functions unstably const #68809 -  
wrapping_div_euc[1] Make more arithmetic functions unstably const #68809 -  
wrapping_mod_euc[1] Make more arithmetic functions unstably const #68809 -  
overflowing_div_euc[1] Make more arithmetic functions unstably const #68809 -  
overflowing_mod_euc[1] Make more arithmetic functions unstably const #68809 
-  
 feature = const_int_pow-  
pow[1, 2] Make integer exponentiation methods unstably const #68978 -  
is_power_of_twomake is_power_of_two a const function #65092 -  
next_power_of_two[1] Make integer exponentiation methods unstably const #68978 -  
checked_pow[1] Make integer exponentiation methods unstably const #68978 -  
checked_next_power_of_two[1] Make integer exponentiation methods unstably const #68978 -  
saturating_pow[1, 2] Make integer exponentiation methods unstably const #68978 -  
wrapping_pow[1, 2] Make integer exponentiation methods unstably const #68978 -  
wrapping_next_power_of_two[1] Make integer exponentiation methods unstably const #68978 -  
overflowing_pow[1, 2] Make integer exponentiation methods unstably const #68978 
-  
 feature = const_int_sign-  
absMakeabs,wrapping_abs,overflowing_absconst functions #63786 -- stabilized in 1.39 -  
signumMakei*::signumaconst fn. #61635 -  
is_positiveAdd more const int ops #53697 -- stabilized -  
is_negativeAdd more const int ops #53697 -- stabilized 
-  
 feature = const_int_conversion-  
to_be_bytesAdd more const int ops #53697 -  
to_le_bytesAdd more const int ops #53697 -  
to_ne_bytesAdd more const int ops #53697 -  
from_be_bytesAdd more const int ops #53697 -  
from_le_bytesAdd more const int ops #53697 -  
from_ne_bytesAdd more const int ops #53697 -  
reverse_bitsAdd more const int ops #53697 
-  
 feature = const_nonzero_int_methods-  
NonZero*::new[1] Makenum::NonZeroX::newan unstableconst fn#68976 
-  
 
- Requires conditionals. Tracking Issue: Tracking issue for RFC 2342, "Allow 
ifandmatchin constants" #49146 (implemented on nightly) - Requires loops. Tracking Issue: Tracking issue for RFC 2344, "Allow 
loopin constant evaluation" #52000 (implemented on nightly) 
This issue has been assigned to @9999years via this comment.
mark-i-m, skull-squadron, DianaNites, hugecheese, demurgos and 13 more
Metadata
Metadata
Assignees
Labels
A-const-evalArea: Constant evaluation, covers all const contexts (static, const fn, ...)Area: Constant evaluation, covers all const contexts (static, const fn, ...)B-unstableBlocker: Implemented in the nightly compiler and unstable.Blocker: Implemented in the nightly compiler and unstable.C-tracking-issueCategory: An issue tracking the progress of sth. like the implementation of an RFCCategory: An issue tracking the progress of sth. like the implementation of an RFCLibs-TrackedLibs issues that are tracked on the team's project board.Libs issues that are tracked on the team's project board.T-langRelevant to the language teamRelevant to the language teamT-libs-apiRelevant to the library API team, which will review and decide on the PR/issue.Relevant to the library API team, which will review and decide on the PR/issue.