22 lines
606 B
Rust
22 lines
606 B
Rust
|
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 {} }
|