From ef7c65c48cbb58e92dc0e15f284171e572d54144 Mon Sep 17 00:00:00 2001 From: parrrate Date: Fri, 12 Sep 2025 18:33:46 +0000 Subject: [PATCH] topics table --- src/SUMMARY.md | 2 ++ src/exercises/multiple_blanket.md | 3 +-- src/topics.md | 19 +++++++++++++++++++ 3 files changed, 22 insertions(+), 2 deletions(-) create mode 100644 src/topics.md diff --git a/src/SUMMARY.md b/src/SUMMARY.md index d70be04..4bb75bf 100644 --- a/src/SUMMARY.md +++ b/src/SUMMARY.md @@ -11,3 +11,5 @@ - [Chapter 2](./chapter_2.md) - [AnyStr](./exercises/anystr.md) - [Mode](./exercises/mode.md) + +[Topics (Spoilers)](./topics.md) diff --git a/src/exercises/multiple_blanket.md b/src/exercises/multiple_blanket.md index 84b687d..3ad3b49 100644 --- a/src/exercises/multiple_blanket.md +++ b/src/exercises/multiple_blanket.md @@ -41,8 +41,7 @@ fn test2(x: impl A2) { # fn ap_move(t: Self::T) -> Self::T; # } # trait AWrapper: Wrapper { type AWrapped; } -# impl A for T where T::AWrapped: AProxy, -# { +# impl A for T where T::AWrapped: AProxy { # fn a_ref(&self) -> u64 { ::ap_ref(self) } # fn a_mut(&mut self) -> bool { ::ap_mut(self) } # fn a_move(self) -> Self { ::ap_move(self) } diff --git a/src/topics.md b/src/topics.md new file mode 100644 index 0000000..158d159 --- /dev/null +++ b/src/topics.md @@ -0,0 +1,19 @@ +# Topics + +Rows are ordered based on estimated difficulty. + +| lifetimes | `trait`s | `struct`s | +|------------------------|--------------------|-------------| +| [explicit lifetimes] | [`Fn`?] | | +| [extracting lifetimes] | [exclusive traits] | [`RcChars`] | +| | [`AnyStr`] | | +| | [merging traits] | | + + +[explicit lifetimes]: ./exercises/refbind.md +[`Fn`?]: ./exercises/bind.md +[`RcChars`]: ./exercises/rcchars.md +[extracting lifetimes]: ./exercises/bool_stream.md +[exclusive traits]: ./exercises/multiple_blanket.md +[merging traits]: ./exercises/modes.md +[`AnyStr`]: ./exercises/anystr.md