Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions hugr-core/src/hugr/views.rs
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@ use serde::de::Deserialize;
use std::borrow::Cow;
use std::collections::HashMap;

#[deprecated(since = "0.26.0")]
#[expect(deprecated)] // Remove at same time
pub use self::petgraph::PetgraphWrapper;
use self::render::MermaidFormatter;
pub use nodes_iter::NodesIter;
Expand Down Expand Up @@ -389,6 +391,10 @@ pub trait HugrView: HugrInternals {

/// Return a wrapper over the view that can be used in petgraph algorithms.
#[inline]
#[deprecated(
since = "0.26.0",
note = "Use hugr_core::internal::HugrInternals::region_portgraph instead."
)]
fn as_petgraph(&self) -> PetgraphWrapper<'_, Self>
where
Self: Sized,
Expand Down
3 changes: 2 additions & 1 deletion hugr-core/src/hugr/views/petgraph.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
//! Implementations of petgraph's traits for Hugr Region views.

#![allow(deprecated)] // Remove whole file when PetgraphWrapper is removed
use crate::core::HugrNode;
use crate::hugr::HugrView;
use crate::ops::OpType;
Expand All @@ -11,6 +11,7 @@ use petgraph::visit as pv;
/// Wrapper for a `HugrView` that implements petgraph's traits.
///
/// It can be used to apply petgraph's algorithms to a Hugr.
#[deprecated(since = "0.26.0")]
#[derive(Debug)]
pub struct PetgraphWrapper<'a, T> {
pub(crate) hugr: &'a T,
Expand Down
10 changes: 7 additions & 3 deletions hugr-passes/src/force_order.rs
Original file line number Diff line number Diff line change
Expand Up @@ -208,6 +208,7 @@ mod test {

use super::*;
use hugr_core::builder::{BuildHandle, Dataflow, DataflowHugr, endo_sig};
use hugr_core::hugr::internal::HugrInternals;
use hugr_core::ops::handle::{DataflowOpID, NodeHandle};

use hugr_core::ops::{self, Value};
Expand Down Expand Up @@ -277,9 +278,12 @@ mod test {
})
.unwrap();

let topo_sorted = Topo::new(&hugr.as_petgraph())
.iter(&hugr.as_petgraph())
.filter(|n| rank_map.contains_key(n))
let (graph, node_map) = hugr.region_portgraph(hugr.entrypoint());

let topo_sorted = Topo::new(&graph)
.iter(&graph)
.map(|n| node_map.from_portgraph(n))
.filter(|n| rank_map.contains_key(&n))
.collect_vec();
hugr.validate().unwrap();

Expand Down
Loading