Skip to content

Deprecate LexOrderingRef and LexRequirementRef #13220

@alamb

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

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions