MCPcopy Create free account
hub / github.com/bytecodealliance/wasmtime / basic

Function basic

cranelift/entity/src/map.rs:418–467  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

416
417 #[test]
418 fn basic() {
419 let r0 = E(0);
420 let r1 = E(1);
421 let r2 = E(2);
422 let r3 = E(3);
423 let mut m = SecondaryMap::new();
424
425 let v: Vec<E> = m.keys().collect();
426 assert_eq!(v, []);
427
428 m[r2] = 3;
429 m[r1] = 5;
430
431 assert_eq!(m[r1], 5);
432 assert_eq!(m[r2], 3);
433
434 assert!(m.get(r3).is_none());
435 assert!(m.get_mut(r3).is_none());
436
437 let old = m.insert(r3, 99);
438 assert!(old.is_none());
439 assert_eq!(m.get(r3), Some(&99));
440 assert_eq!(m[r3], 99);
441
442 *m.get_mut(r3).unwrap() += 1;
443 assert_eq!(m.get(r3), Some(&100));
444 assert_eq!(m[r3], 100);
445
446 let old = m.insert(r3, 42);
447 assert_eq!(old, Some(100));
448 assert_eq!(m.get(r3), Some(&42));
449 assert_eq!(m[r3], 42);
450
451 let old = m.remove(r3);
452 assert_eq!(old, Some(42));
453 assert_eq!(m[r3], 0);
454 let old = m.remove(r3);
455 assert_eq!(old, Some(0));
456 m.resize(3);
457 let old = m.remove(r3);
458 assert_eq!(old, None);
459
460 let v: Vec<E> = m.keys().collect();
461 assert_eq!(v, [r0, r1, r2]);
462
463 let shared = &m;
464 assert_eq!(shared[r0], 0);
465 assert_eq!(shared[r1], 5);
466 assert_eq!(shared[r2], 3);
467 }
468}

Callers

nothing calls this directly

Calls 9

collectMethod · 0.80
EClass · 0.70
newFunction · 0.50
keysMethod · 0.45
insertMethod · 0.45
unwrapMethod · 0.45
get_mutMethod · 0.45
removeMethod · 0.45
resizeMethod · 0.45

Tested by

no test coverage detected