forked from syndicate-lang/preserves
Arc at ref boundaries
This commit is contained in:
parent
5b9c4d29f6
commit
00759673ce
|
@ -102,7 +102,7 @@ pub fn compile(config: &CompilerConfig) -> Result<(), std::io::Error> {
|
|||
|
||||
m.define_type(item(seq!["pub type _Ptr = ", match &v.embedded_type {
|
||||
EmbeddedTypeName::False => item("preserves::value::IOValue".to_owned()),
|
||||
EmbeddedTypeName::Ref(r) => m.render_ref(&**r),
|
||||
EmbeddedTypeName::Ref(r) => item(seq!["std::sync::Arc", anglebrackets![m.render_ref(&**r)]]),
|
||||
}, ";"]));
|
||||
m.define_type(item(seq!["pub type _Any = preserves::value::ArcValue<_Ptr>;"]));
|
||||
|
||||
|
|
|
@ -133,7 +133,7 @@ fn simple_pattern_unparser(
|
|||
}
|
||||
}
|
||||
SimplePattern::Embedded { .. } =>
|
||||
item(seq!["preserves::value::Value::Domain(", src.as_ref().unwrap().to_owned(), ").wrap()"]),
|
||||
item(seq!["preserves::value::Value::Domain(", src.as_ref().unwrap().to_owned(), ".clone()).wrap()"]),
|
||||
SimplePattern::Lit { value } =>
|
||||
item(seq![parens![ctxt.m.define_literal(value)], ".clone()"]),
|
||||
SimplePattern::Seqof { pattern } => {
|
||||
|
|
Loading…
Reference in New Issue