Skip to content

Commit ad61b3f

Browse files
Use Option<&Loc> instead of &Option<Loc> (#916)
Signed-off-by: John Kastner <[email protected]>
1 parent 354c531 commit ad61b3f

File tree

7 files changed

+34
-34
lines changed

7 files changed

+34
-34
lines changed

cedar-policy-core/src/ast/policy.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,7 @@ impl Template {
157157
}
158158

159159
/// Get the location of this policy
160-
pub fn loc(&self) -> &Option<Loc> {
160+
pub fn loc(&self) -> Option<&Loc> {
161161
self.body.loc()
162162
}
163163

@@ -525,7 +525,7 @@ impl Policy {
525525
}
526526

527527
/// Get the location of this policy
528-
pub fn loc(&self) -> &Option<Loc> {
528+
pub fn loc(&self) -> Option<&Loc> {
529529
self.template.loc()
530530
}
531531

@@ -753,7 +753,7 @@ impl StaticPolicy {
753753
}
754754

755755
/// Get the location of this policy
756-
pub fn loc(&self) -> &Option<Loc> {
756+
pub fn loc(&self) -> Option<&Loc> {
757757
self.0.loc()
758758
}
759759

@@ -922,8 +922,8 @@ impl TemplateBody {
922922
}
923923

924924
/// Get the location of this policy
925-
pub fn loc(&self) -> &Option<Loc> {
926-
&self.loc
925+
pub fn loc(&self) -> Option<&Loc> {
926+
self.loc.as_ref()
927927
}
928928

929929
/// Clone this policy with a new `Id`.

cedar-policy-validator/src/lib.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -342,7 +342,7 @@ mod test {
342342
r#"permit(principal == some_namespace::User::"Alice", action, resource in ?resource);"#,
343343
)
344344
.expect("Parse Error");
345-
let loc = t.loc().clone();
345+
let loc = t.loc().cloned();
346346
set.add_template(t)
347347
.expect("Template already present in PolicySet");
348348

cedar-policy-validator/src/rbac.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -305,7 +305,7 @@ impl Validator {
305305
// (rather than a template) to facilitate code reuse.
306306
fn validate_action_application(
307307
&self,
308-
source_loc: &Option<Loc>,
308+
source_loc: Option<&Loc>,
309309
policy_id: &PolicyID,
310310
principal_constraint: &PrincipalConstraint,
311311
action_constraint: &ActionConstraint,
@@ -325,7 +325,7 @@ impl Validator {
325325
self.check_if_in_fixes_resource(resource_constraint, action_constraint);
326326

327327
Some(ValidationError::invalid_action_application(
328-
source_loc.clone(),
328+
source_loc.cloned(),
329329
policy_id.clone(),
330330
would_in_fix_principal,
331331
would_in_fix_resource,
@@ -1154,7 +1154,7 @@ mod test {
11541154
.1
11551155
.collect::<Vec<ValidationWarning>>(),
11561156
vec![ValidationWarning::impossible_policy(
1157-
policy.loc().clone(),
1157+
policy.loc().cloned(),
11581158
policy.id().clone()
11591159
)],
11601160
"Unexpected validation warnings."

cedar-policy-validator/src/typecheck.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -304,7 +304,7 @@ impl<'a> Typechecker<'a> {
304304
// possibly apply to any request.
305305
if all_false {
306306
warnings.insert(ValidationWarning::impossible_policy(
307-
t.loc().clone(),
307+
t.loc().cloned(),
308308
t.id().clone(),
309309
));
310310
}

cedar-policy-validator/src/typecheck/test_namespace.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -574,7 +574,7 @@ fn multi_namespace_action_eq() {
574574
schema.clone(),
575575
policy.clone(),
576576
vec![ValidationWarning::impossible_policy(
577-
policy.loc().clone(),
577+
policy.loc().cloned(),
578578
PolicyID::from_string("policy0"),
579579
)],
580580
);
@@ -637,7 +637,7 @@ fn multi_namespace_action_in() {
637637
schema.clone(),
638638
policy.clone(),
639639
vec![ValidationWarning::impossible_policy(
640-
policy.loc().clone(),
640+
policy.loc().cloned(),
641641
PolicyID::from_string("policy0"),
642642
)],
643643
);

cedar-policy-validator/src/typecheck/test_optional_attributes.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -794,7 +794,7 @@ fn action_attrs_failing() {
794794
schema.clone(),
795795
failing_policy.clone(),
796796
vec![ValidationWarning::impossible_policy(
797-
failing_policy.loc().clone(),
797+
failing_policy.loc().cloned(),
798798
PolicyID::from_string("0"),
799799
)],
800800
);

cedar-policy-validator/src/typecheck/test_policy.rs

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -419,7 +419,7 @@ fn policy_impossible_scope() {
419419
assert_policy_typecheck_warns_simple_schema(
420420
p.clone(),
421421
vec![ValidationWarning::impossible_policy(
422-
p.loc().clone(),
422+
p.loc().cloned(),
423423
PolicyID::from_string("0"),
424424
)],
425425
);
@@ -435,7 +435,7 @@ fn policy_impossible_literal_euids() {
435435
assert_policy_typecheck_warns_simple_schema(
436436
p.clone(),
437437
vec![ValidationWarning::impossible_policy(
438-
p.loc().clone(),
438+
p.loc().cloned(),
439439
PolicyID::from_string("0"),
440440
)],
441441
);
@@ -451,7 +451,7 @@ fn policy_impossible_not_has() {
451451
assert_policy_typecheck_warns_simple_schema(
452452
p.clone(),
453453
vec![ValidationWarning::impossible_policy(
454-
p.loc().clone(),
454+
p.loc().cloned(),
455455
PolicyID::from_string("0"),
456456
)],
457457
);
@@ -475,7 +475,7 @@ fn policy_in_action_impossible() {
475475
assert_policy_typecheck_warns_simple_schema(
476476
p.clone(),
477477
vec![ValidationWarning::impossible_policy(
478-
p.loc().clone(),
478+
p.loc().cloned(),
479479
PolicyID::from_string("0"),
480480
)],
481481
);
@@ -488,7 +488,7 @@ fn policy_in_action_impossible() {
488488
assert_policy_typecheck_warns_simple_schema(
489489
p.clone(),
490490
vec![ValidationWarning::impossible_policy(
491-
p.loc().clone(),
491+
p.loc().cloned(),
492492
PolicyID::from_string("0"),
493493
)],
494494
);
@@ -501,7 +501,7 @@ fn policy_in_action_impossible() {
501501
assert_policy_typecheck_warns_simple_schema(
502502
p.clone(),
503503
vec![ValidationWarning::impossible_policy(
504-
p.loc().clone(),
504+
p.loc().cloned(),
505505
PolicyID::from_string("0"),
506506
)],
507507
);
@@ -514,7 +514,7 @@ fn policy_in_action_impossible() {
514514
assert_policy_typecheck_warns_simple_schema(
515515
p.clone(),
516516
vec![ValidationWarning::impossible_policy(
517-
p.loc().clone(),
517+
p.loc().cloned(),
518518
PolicyID::from_string("0"),
519519
)],
520520
);
@@ -527,7 +527,7 @@ fn policy_in_action_impossible() {
527527
assert_policy_typecheck_warns_simple_schema(
528528
p.clone(),
529529
vec![ValidationWarning::impossible_policy(
530-
p.loc().clone(),
530+
p.loc().cloned(),
531531
PolicyID::from_string("0"),
532532
)],
533533
);
@@ -540,7 +540,7 @@ fn policy_in_action_impossible() {
540540
assert_policy_typecheck_warns_simple_schema(
541541
p.clone(),
542542
vec![ValidationWarning::impossible_policy(
543-
p.loc().clone(),
543+
p.loc().cloned(),
544544
PolicyID::from_string("0"),
545545
)],
546546
);
@@ -553,7 +553,7 @@ fn policy_in_action_impossible() {
553553
assert_policy_typecheck_permissive_warns_simple_schema(
554554
p.clone(),
555555
vec![ValidationWarning::impossible_policy(
556-
p.loc().clone(),
556+
p.loc().cloned(),
557557
PolicyID::from_string("0"),
558558
)],
559559
);
@@ -569,7 +569,7 @@ fn policy_action_in_impossible() {
569569
assert_policy_typecheck_warns_simple_schema(
570570
p.clone(),
571571
vec![ValidationWarning::impossible_policy(
572-
p.loc().clone(),
572+
p.loc().cloned(),
573573
PolicyID::from_string("0"),
574574
)],
575575
);
@@ -668,7 +668,7 @@ fn entity_lub_cant_have_undeclared_attribute() {
668668
assert_policy_typecheck_permissive_warns_simple_schema(
669669
p.clone(),
670670
vec![ValidationWarning::impossible_policy(
671-
p.loc().clone(),
671+
p.loc().cloned(),
672672
PolicyID::from_string("0"),
673673
)],
674674
);
@@ -696,15 +696,15 @@ fn is_impossible() {
696696
assert_policy_typecheck_warns_simple_schema(
697697
p.clone(),
698698
vec![ValidationWarning::impossible_policy(
699-
p.loc().clone(),
699+
p.loc().cloned(),
700700
PolicyID::from_string("policy0"),
701701
)],
702702
);
703703
let p = parse_policy(None, r#"permit(principal, action, resource is User);"#).unwrap();
704704
assert_policy_typecheck_warns_simple_schema(
705705
p.clone(),
706706
vec![ValidationWarning::impossible_policy(
707-
p.loc().clone(),
707+
p.loc().cloned(),
708708
PolicyID::from_string("policy0"),
709709
)],
710710
);
@@ -735,7 +735,7 @@ fn is_entity_lub() {
735735
assert_policy_typecheck_permissive_warns_simple_schema(
736736
p.clone(),
737737
vec![ValidationWarning::impossible_policy(
738-
p.loc().clone(),
738+
p.loc().cloned(),
739739
PolicyID::from_string("policy0"),
740740
)],
741741
);
@@ -762,7 +762,7 @@ fn is_action() {
762762
assert_policy_typecheck_warns_simple_schema(
763763
p.clone(),
764764
vec![ValidationWarning::impossible_policy(
765-
p.loc().clone(),
765+
p.loc().cloned(),
766766
PolicyID::from_string("policy0"),
767767
)],
768768
);
@@ -923,7 +923,7 @@ fn action_groups() {
923923
schema.clone(),
924924
policy.clone(),
925925
vec![ValidationWarning::impossible_policy(
926-
policy.loc().clone(),
926+
policy.loc().cloned(),
927927
PolicyID::from_string("0"),
928928
)],
929929
);
@@ -937,7 +937,7 @@ fn action_groups() {
937937
schema.clone(),
938938
policy.clone(),
939939
vec![ValidationWarning::impossible_policy(
940-
policy.loc().clone(),
940+
policy.loc().cloned(),
941941
PolicyID::from_string("0"),
942942
)],
943943
);
@@ -951,7 +951,7 @@ fn action_groups() {
951951
schema.clone(),
952952
policy.clone(),
953953
vec![ValidationWarning::impossible_policy(
954-
policy.loc().clone(),
954+
policy.loc().cloned(),
955955
PolicyID::from_string("0"),
956956
)],
957957
);
@@ -965,7 +965,7 @@ fn action_groups() {
965965
schema,
966966
policy.clone(),
967967
vec![ValidationWarning::impossible_policy(
968-
policy.loc().clone(),
968+
policy.loc().cloned(),
969969
PolicyID::from_string("0"),
970970
)],
971971
);
@@ -1196,7 +1196,7 @@ mod templates {
11961196
assert_policy_typecheck_warns_simple_schema(
11971197
template.clone(),
11981198
vec![ValidationWarning::impossible_policy(
1199-
template.loc().clone(),
1199+
template.loc().cloned(),
12001200
PolicyID::from_string("policy0"),
12011201
)],
12021202
);

0 commit comments

Comments
 (0)