diff --git a/data/policies/let.cas b/data/policies/let.cas index ea265224..424d2ff5 100644 --- a/data/policies/let.cas +++ b/data/policies/let.cas @@ -22,3 +22,6 @@ domain foo { allow(this, bar, file, nested_binding); allow(foo, baz, file, write); } + +let class_list = [ file dir ]; +let cl2 = [ lnk_file class_list ]; diff --git a/src/context.rs b/src/context.rs index bfbd19a6..e5d688ca 100644 --- a/src/context.rs +++ b/src/context.rs @@ -249,6 +249,8 @@ impl<'a> Context<'a> { let arg_typeinstance = TypeInstance::new(&arg, variant, Some(file), &*self); if variant.is_perm(type_map) { BindableObject::PermList(v.iter().map(|s| s.to_string()).collect()) + } else if variant.is_class(type_map) { + BindableObject::ClassList(v.iter().map(|s| s.to_string()).collect()) } else { BindableObject::TypeList(arg_typeinstance) }