Skip to content

Deprecate LexOrderingRef and LexRequirementRef #13220

Description

@alamb

Is your feature request related to a problem or challenge?

Follow on to #12591

Now that LexOrdering and LexRequirement are actual structs thanks to @ngli-me and @berkaysynnada on #13146, we can refer to their references as &LexOrdering and &LexRequirement directly rather than going through a type alias.

For example

///`LexOrderingRef` is an alias for the type &`[PhysicalSortExpr]`, which represents
/// a reference to a lexicographical ordering.
pub type LexOrderingRef<'a> = &'a [PhysicalSortExpr];

This is significantly less confusing than the current situation where we have both &LexOrdering and LexOrderingRef and &LexRequirement and LexRequirementRef

Describe the solution you'd like

I would like to

  1. Deprecate LexOrderingRef and LexRequirementRef
  2. Update all references to use &LexOrdering and &LexRequirement directly

Describe alternatives you've considered

Basically make this change:

///`LexOrderingRef` is an alias for the type &`[PhysicalSortExpr]`, which represents
/// a reference to a lexicographical ordering.
#[deprecated(since = "43.0.0", note = "use &LexOrdering instead")]
pub type LexOrderingRef<'a> = &'a [PhysicalSortExpr];

And the similar change to LexRequirementRef and then fix all the clippy errors :)

Additional context

I have a WIP here #13205 that someone could pull from

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions