// Regression test for issues #77763, #84579 and #102142. #![crate_name = "main"] // aux-build:assoc_item_trait_bounds.rs // build-aux-docs // ignore-cross-compile extern crate assoc_item_trait_bounds as aux; // @has main/trait.Main.html // @has - '//*[@id="associatedtype.Out0"]' 'type Out0: Support' // @has - '//*[@id="associatedtype.Out1"]' 'type Out1: Support' // @has - '//*[@id="associatedtype.Out2"]' 'type Out2: Support' // @has - '//*[@id="associatedtype.Out3"]' 'type Out3: Support = bool>' // @has - '//*[@id="associatedtype.Out4"]' 'type Out4: Support = T>' // @has - '//*[@id="associatedtype.Out5"]' "type Out5: Support = &'static ()>" // @has - '//*[@id="associatedtype.Out6"]' "type Out6: for<'a> Support = &'a ()>" // @has - '//*[@id="associatedtype.Out7"]' "type Out7: Support = u32> + Unrelated" // @has - '//*[@id="associatedtype.Out8"]' "type Out8: Unrelated + Protocol" // @has - '//*[@id="associatedtype.Out9"]' "type Out9: FnMut(i32) -> bool + Clone" // @has - '//*[@id="associatedtype.Out10"]' "type Out10<'q>: Support = ()>" // @has - '//*[@id="associatedtype.Out11"]' "type Out11: for<'r, 's> Helper = &'s (), B<'r> = ()>" // @has - '//*[@id="associatedtype.Out12"]' "type Out12: for<'w> Helper = Cow<'w, str>, A<'w> = bool>" // @has - '//*[@id="associatedtype.Out13"]' "type Out13: for<'fst, 'snd> Aid<'snd, Result<'fst> = &'fst mut str>" // @has - '//*[@id="associatedtype.Out14"]' "type Out14" // // Snapshots: // Check that we don't render any where-clauses for the following associated types since // all corresponding projection equality predicates should have already been re-sugared // to associated type bindings: // // @snapshot out0 - '//*[@id="associatedtype.Out0"]/*[@class="code-header"]' // @snapshot out2 - '//*[@id="associatedtype.Out2"]/*[@class="code-header"]' // @snapshot out9 - '//*[@id="associatedtype.Out9"]/*[@class="code-header"]' // // @has - '//*[@id="tymethod.make"]' \ // "fn make(_: F, _: impl FnMut(&str) -> bool)\ // where \ // F: FnOnce(u32) -> String, \ // Self::Out2<()>: Protocol" pub use aux::Main; // @has main/trait.Aid.html // @has - '//*[@id="associatedtype.Result"]' "type Result<'inter: 'src>" pub use aux::Aid;