use std::borrow::Cow; use iref::{IriBuf, IriError}; fn main() -> Result<(), IriError>> { let mut iri = IriBuf::new("https://www.rust-lang.org".to_string())?; iri.authority_mut() .unwrap() .set_port(Some("40".try_into()?)); iri.set_path("/foo".try_into()?); iri.path_mut().push("bar".try_into()?); iri.set_query(Some("query".try_into()?)); iri.set_fragment(Some("fragment".try_into()?)); assert_eq!(iri, "https://www.rust-lang.org:40/foo/bar?query#fragment"); Ok(()) }