mirror of
https://github.com/GraphiteEditor/Graphite.git
synced 2026-09-16 23:08:05 +08:00
Add the core execution types needed for the async refactor (#4390)
* Add the core execution types, the borrowed context, and the seeded u64 fx hasher * Fix frame table key aliasing and arena handle offset truncation * Drop arena entries in reverse allocation order and require Send + Sync payloads * Draw arena generations from a global counter so foreign handles never upgrade * Forward serialize through node wrappers and free abandoned frame table reservations * Make arena generation exhaustion fallible with an unsafe counter rewind * Guard the shared generation counter in tests and reject oversized batch ranges * Park the arena during drop glue, guard filled batches, and normalize deserialized sources * Make the sources fields private and normalize them on every mutation * Remove the unused CtxSnapshot scope reconstruction
This commit is contained in:
@@ -309,6 +309,7 @@ macro_rules! tagged_value {
|
||||
pub fn from_type(input: &Type) -> Option<Self> {
|
||||
match input {
|
||||
Type::Generic(_) => None,
|
||||
Type::Ref(_) => None,
|
||||
Type::Concrete(concrete_type) => {
|
||||
let name = concrete_type.name.as_ref();
|
||||
// TODO: Add default implementations for types such as TaggedValue::Subpaths, and use the defaults here and in document_node_types
|
||||
@@ -569,6 +570,7 @@ impl TaggedValue {
|
||||
|
||||
match ty {
|
||||
Type::Generic(_) => None,
|
||||
Type::Ref(_) => None,
|
||||
Type::Concrete(concrete_type) => {
|
||||
let ty = concrete_type.id?;
|
||||
use std::any::TypeId;
|
||||
|
||||
Reference in New Issue
Block a user