File tree Expand file tree Collapse file tree 1 file changed +8
-4
lines changed Expand file tree Collapse file tree 1 file changed +8
-4
lines changed Original file line number Diff line number Diff line change @@ -212,10 +212,14 @@ impl MemoTableWithTypes<'_> {
212
212
) -> Option < NonNull < M > > {
213
213
let memo_ingredient_index = memo_ingredient_index. as_usize ( ) ;
214
214
let mut memos = self . memos . memos . write ( ) ;
215
- let additional_len = memo_ingredient_index - memos. len ( ) + 1 ;
216
- memos. reserve ( additional_len) ;
217
- while memos. len ( ) < memo_ingredient_index + 1 {
218
- memos. push ( MemoEntry :: default ( ) ) ;
215
+
216
+ // Grow the table if needed.
217
+ if memos. len ( ) <= memo_ingredient_index {
218
+ let additional_len = memo_ingredient_index - memos. len ( ) + 1 ;
219
+ memos. reserve ( additional_len) ;
220
+ while memos. len ( ) < memo_ingredient_index + 1 {
221
+ memos. push ( MemoEntry :: default ( ) ) ;
222
+ }
219
223
}
220
224
221
225
let memo_entry = & mut memos[ memo_ingredient_index] . atomic_memo ;
You can’t perform that action at this time.
0 commit comments