fix lifetimes

This commit is contained in:
Douglas Creager 2025-09-29 16:17:14 -04:00
parent 23e39ee7e1
commit 067fa6e27d
1 changed files with 5 additions and 5 deletions

View File

@ -939,7 +939,7 @@ impl<'db> UnderspecifiedNode<'db> {
self.smallest_minimizations(db).take_one() self.smallest_minimizations(db).take_one()
} }
fn smallest_minimizations(self, db: &'db dyn Db) -> MinimizedNode<'db> { fn smallest_minimizations(self, db: &'db dyn Db) -> MinimizedNode<'db, 'db> {
match self { match self {
UnderspecifiedNode::AlwaysTrue => MinimizedNode::One(Node::AlwaysTrue), UnderspecifiedNode::AlwaysTrue => MinimizedNode::One(Node::AlwaysTrue),
UnderspecifiedNode::AlwaysFalse => MinimizedNode::One(Node::AlwaysFalse), UnderspecifiedNode::AlwaysFalse => MinimizedNode::One(Node::AlwaysFalse),
@ -987,13 +987,13 @@ impl<'db> From<UnderspecifiedInteriorNode<'db>> for UnderspecifiedNode<'db> {
} }
} }
enum MinimizedNode<'db> { enum MinimizedNode<'a, 'db> {
One(Node<'db>), One(Node<'db>),
Two([Node<'db>; 2]), Two([Node<'db>; 2]),
Many(&'db [Node<'db>]), Many(&'a [Node<'db>]),
} }
impl<'db> MinimizedNode<'db> { impl<'a, 'db> MinimizedNode<'a, 'db> {
fn take_one(self) -> Node<'db> { fn take_one(self) -> Node<'db> {
match self { match self {
MinimizedNode::One(node) | MinimizedNode::Two([node, _]) => node, MinimizedNode::One(node) | MinimizedNode::Two([node, _]) => node,
@ -1004,7 +1004,7 @@ impl<'db> MinimizedNode<'db> {
} }
} }
fn as_slice(&'db self) -> &'db [Node<'db>] { fn as_slice(&'a self) -> &'a [Node<'db>] {
match self { match self {
MinimizedNode::One(node) => std::slice::from_ref(node), MinimizedNode::One(node) => std::slice::from_ref(node),
MinimizedNode::Two(nodes) => nodes.as_slice(), MinimizedNode::Two(nodes) => nodes.as_slice(),