mirror of
https://github.com/roc-lang/roc.git
synced 2025-08-04 12:18:19 +00:00
Merge branch 'main' into fromutf-roc
This commit is contained in:
commit
6c29d7aa1f
237 changed files with 7237 additions and 5353 deletions
|
@ -1549,6 +1549,7 @@ fn low_level_no_rc(lowlevel: &LowLevel) -> RC {
|
|||
ListPrepend => RC::Rc,
|
||||
StrJoinWith => RC::NoRc,
|
||||
ListSortWith => RC::Rc,
|
||||
StrWithAsciiLowercased => RC::Rc,
|
||||
|
||||
ListAppendUnsafe
|
||||
| ListReserve
|
||||
|
@ -1562,7 +1563,7 @@ fn low_level_no_rc(lowlevel: &LowLevel) -> RC {
|
|||
|
||||
Eq | NotEq => RC::NoRc,
|
||||
|
||||
And | Or | NumAdd | NumAddWrap | NumAddChecked | NumAddSaturated | NumSub | NumSubWrap
|
||||
NumAdd | NumAddWrap | NumAddChecked | NumAddSaturated | NumSub | NumSubWrap
|
||||
| NumSubChecked | NumSubSaturated | NumMul | NumMulWrap | NumMulSaturated
|
||||
| NumMulChecked | NumGt | NumGte | NumLt | NumLte | NumCompare | NumDivFrac
|
||||
| NumDivTruncUnchecked | NumDivCeilUnchecked | NumRemUnchecked | NumIsMultipleOf
|
||||
|
|
|
@ -1258,10 +1258,11 @@ pub(crate) fn lowlevel_borrow_signature(op: LowLevel) -> &'static [Ownership] {
|
|||
StrReleaseExcessCapacity => &[OWNED],
|
||||
ListIncref => &[OWNED],
|
||||
ListDecref => &[OWNED],
|
||||
StrWithAsciiLowercased => &[OWNED],
|
||||
|
||||
Eq | NotEq => &[BORROWED, BORROWED],
|
||||
|
||||
And | Or | NumAdd | NumAddWrap | NumAddChecked | NumAddSaturated | NumSub | NumSubWrap
|
||||
NumAdd | NumAddWrap | NumAddChecked | NumAddSaturated | NumSub | NumSubWrap
|
||||
| NumSubChecked | NumSubSaturated | NumMul | NumMulWrap | NumMulSaturated
|
||||
| NumMulChecked | NumGt | NumGte | NumLt | NumLte | NumCompare | NumDivFrac
|
||||
| NumDivTruncUnchecked | NumDivCeilUnchecked | NumRemUnchecked | NumIsMultipleOf
|
||||
|
|
|
@ -49,7 +49,15 @@ pub fn apply_trmc<'a, 'i>(
|
|||
|
||||
let env = &mut env;
|
||||
|
||||
for proc in procs.values_mut() {
|
||||
// TODO temporary workaround for #7531, remove this cloning and sorting once that is fixed
|
||||
let clone_procs = procs.clone();
|
||||
let mut procs_key_value_list = clone_procs.iter().collect::<std::vec::Vec<_>>();
|
||||
|
||||
procs_key_value_list.sort_by(|a, b| a.0 .0.cmp(&b.0 .0));
|
||||
|
||||
for (key, _) in procs_key_value_list {
|
||||
let proc = procs.get_mut(key).unwrap();
|
||||
|
||||
use self::SelfRecursive::*;
|
||||
if let SelfRecursive(id) = proc.is_self_recursive {
|
||||
let trmc_candidate_symbols = trmc_candidates(env.interner, proc);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue