git.delta.rocks / jrsonnet / refs/commits / e2e1f7b086aa

difftreelog

feat(jrsonnet-interner) implement gc

Yaroslav Bolyukin2021-06-05parent: #6766bfc.patch.diff
in: master
Interned string is backed by Rc<str>, there is nothing to trace here

2 files changed

modifiedcrates/jrsonnet-interner/Cargo.tomldiffbeforeafterboth
9[dependencies]9[dependencies]
10serde = { version = "1.0" }10serde = { version = "1.0" }
11rustc-hash = "1.1.0"11rustc-hash = "1.1.0"
1212gc = { version = "0.4.1", features = ["derive"] }
modifiedcrates/jrsonnet-interner/src/lib.rsdiffbeforeafterboth
1use gc::{unsafe_empty_trace, Finalize, Trace};
1use rustc_hash::FxHashMap;2use rustc_hash::FxHashMap;
2use serde::{Deserialize, Serialize};3use serde::{Deserialize, Serialize};
3use std::{4use std::{
1011
11#[derive(Clone, PartialOrd, Ord, Eq)]12#[derive(Clone, PartialOrd, Ord, Eq)]
12pub struct IStr(Rc<str>);13pub struct IStr(Rc<str>);
14impl Finalize for IStr {}
15unsafe impl Trace for IStr {
16 unsafe_empty_trace!();
17}
1318
14impl Deref for IStr {19impl Deref for IStr {
15 type Target = str;20 type Target = str;