summaryrefslogtreecommitdiffstats
path: root/src/test/rustdoc-js/generics.rs
blob: 055c51c7ec5781f819196bbf9e1907b5ff61194b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
pub struct P;
pub struct Q;
pub struct R<T>(T);

// returns test
pub fn alef() -> R<P> { loop {} }
pub fn bet() -> R<Q> { loop {} }

// in_args test
pub fn alpha(_x: R<P>) { loop {} }
pub fn beta(_x: R<Q>) { loop {} }

// test case with multiple appearances of the same type
pub struct ExtraCreditStructMulti<T, U> { t: T, u: U }
pub struct ExtraCreditInnerMulti {}
pub fn extracreditlabhomework(
    _param: ExtraCreditStructMulti<ExtraCreditInnerMulti, ExtraCreditInnerMulti>
) { loop {} }
pub fn redherringmatchforextracredit(
    _param: ExtraCreditStructMulti<ExtraCreditInnerMulti, ()>
) { loop {} }

pub trait TraitCat {}
pub trait TraitDog {}

pub fn gamma<T: TraitCat + TraitDog>(t: T) {}

pub fn super_soup(s: Result<String, i32>) -> Result<String, i32> { s }