Skip to content
This repository was archived by the owner on May 23, 2024. It is now read-only.

Commit f979bf4

Browse files
authored
Merge pull request #560 from rustbot/triagebot-ice-79636
ICE - rust-lang/rust#79636
2 parents bbc66f7 + 689b658 commit f979bf4

File tree

1 file changed

+22
-0
lines changed

1 file changed

+22
-0
lines changed

ices/79636.rs

+22
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
#![feature(generic_associated_types)]
2+
3+
trait Monad {
4+
type Unwrapped;
5+
type Wrapped<B>;
6+
7+
fn bind<B, F>(self, f: F) -> Self::Wrapped<B> {
8+
todo!()
9+
}
10+
}
11+
12+
fn join<MOuter, MInner, A>(outer: MOuter) -> MOuter::Wrapped<A>
13+
where
14+
MOuter: Monad<Unwrapped = MInner>,
15+
MInner: Monad<Unwrapped = A, Wrapped = MOuter::Wrapped<A>>,
16+
{
17+
outer.bind(|inner| inner)
18+
}
19+
20+
fn main() {
21+
assert_eq!(join(Some(Some(true))), Some(true));
22+
}

0 commit comments

Comments
 (0)