diff --git a/404.html b/404.html index dc7fcb7..6102e65 100644 --- a/404.html +++ b/404.html @@ -83,7 +83,7 @@ diff --git a/CHARTER.html b/CHARTER.html index 4a0cf14..dad60ec 100644 --- a/CHARTER.html +++ b/CHARTER.html @@ -82,7 +82,7 @@ diff --git a/archive/evaluation/effect-hierarchy.html b/archive/evaluation/effect-hierarchy.html index d92fc20..d47e129 100644 --- a/archive/evaluation/effect-hierarchy.html +++ b/archive/evaluation/effect-hierarchy.html @@ -82,7 +82,7 @@ diff --git a/archive/evaluation/effects-in-rust.html b/archive/evaluation/effects-in-rust.html index 0d5b46b..797a555 100644 --- a/archive/evaluation/effects-in-rust.html +++ b/archive/evaluation/effects-in-rust.html @@ -82,7 +82,7 @@ diff --git a/archive/evaluation/effects-in-rust/async.html b/archive/evaluation/effects-in-rust/async.html index 96149a9..a10c11d 100644 --- a/archive/evaluation/effects-in-rust/async.html +++ b/archive/evaluation/effects-in-rust/async.html @@ -82,7 +82,7 @@ diff --git a/archive/evaluation/effects-in-rust/const.html b/archive/evaluation/effects-in-rust/const.html index 5c89ad1..3c7411f 100644 --- a/archive/evaluation/effects-in-rust/const.html +++ b/archive/evaluation/effects-in-rust/const.html @@ -82,7 +82,7 @@ diff --git a/archive/evaluation/effects-in-rust/gen.html b/archive/evaluation/effects-in-rust/gen.html index 06cb6ca..d81ff5e 100644 --- a/archive/evaluation/effects-in-rust/gen.html +++ b/archive/evaluation/effects-in-rust/gen.html @@ -82,7 +82,7 @@ diff --git a/archive/evaluation/effects-in-rust/ownership.html b/archive/evaluation/effects-in-rust/ownership.html index 8a55435..9ae57c8 100644 --- a/archive/evaluation/effects-in-rust/ownership.html +++ b/archive/evaluation/effects-in-rust/ownership.html @@ -82,7 +82,7 @@ diff --git a/archive/evaluation/effects-in-rust/panic.html b/archive/evaluation/effects-in-rust/panic.html index 419a546..4e7971e 100644 --- a/archive/evaluation/effects-in-rust/panic.html +++ b/archive/evaluation/effects-in-rust/panic.html @@ -82,7 +82,7 @@ diff --git a/archive/evaluation/effects-in-rust/pin.html b/archive/evaluation/effects-in-rust/pin.html index db1b70e..3825c1c 100644 --- a/archive/evaluation/effects-in-rust/pin.html +++ b/archive/evaluation/effects-in-rust/pin.html @@ -82,7 +82,7 @@ diff --git a/archive/evaluation/effects-in-rust/send.html b/archive/evaluation/effects-in-rust/send.html index 4c77ef4..e31940a 100644 --- a/archive/evaluation/effects-in-rust/send.html +++ b/archive/evaluation/effects-in-rust/send.html @@ -82,7 +82,7 @@ diff --git a/archive/evaluation/effects-in-rust/sized.html b/archive/evaluation/effects-in-rust/sized.html index 963e295..ad84a3d 100644 --- a/archive/evaluation/effects-in-rust/sized.html +++ b/archive/evaluation/effects-in-rust/sized.html @@ -82,7 +82,7 @@ diff --git a/archive/evaluation/effects-in-rust/try.html b/archive/evaluation/effects-in-rust/try.html index 555ba25..f738223 100644 --- a/archive/evaluation/effects-in-rust/try.html +++ b/archive/evaluation/effects-in-rust/try.html @@ -82,7 +82,7 @@ diff --git a/archive/evaluation/effects-in-rust/unsafe.html b/archive/evaluation/effects-in-rust/unsafe.html index 7d53342..34bf8e5 100644 --- a/archive/evaluation/effects-in-rust/unsafe.html +++ b/archive/evaluation/effects-in-rust/unsafe.html @@ -82,7 +82,7 @@ diff --git a/archive/evaluation/grouping-keyword-generics.html b/archive/evaluation/grouping-keyword-generics.html index bc2c650..af439a3 100644 --- a/archive/evaluation/grouping-keyword-generics.html +++ b/archive/evaluation/grouping-keyword-generics.html @@ -82,7 +82,7 @@ diff --git a/archive/evaluation/introducing-new-keyword-generics.html b/archive/evaluation/introducing-new-keyword-generics.html index 061858b..d277f4c 100644 --- a/archive/evaluation/introducing-new-keyword-generics.html +++ b/archive/evaluation/introducing-new-keyword-generics.html @@ -82,7 +82,7 @@ diff --git a/archive/evaluation/mir-desugaring.html b/archive/evaluation/mir-desugaring.html index efaad66..c333ed9 100644 --- a/archive/evaluation/mir-desugaring.html +++ b/archive/evaluation/mir-desugaring.html @@ -82,7 +82,7 @@ diff --git a/archive/evaluation/overloading-keyword-generics.html b/archive/evaluation/overloading-keyword-generics.html index 0206af2..711ec8b 100644 --- a/archive/evaluation/overloading-keyword-generics.html +++ b/archive/evaluation/overloading-keyword-generics.html @@ -82,7 +82,7 @@ diff --git a/archive/evaluation/prior-art.html b/archive/evaluation/prior-art.html index 637d178..deedcb5 100644 --- a/archive/evaluation/prior-art.html +++ b/archive/evaluation/prior-art.html @@ -82,7 +82,7 @@ diff --git a/archive/index.html b/archive/index.html index 30928b3..6d74276 100644 --- a/archive/index.html +++ b/archive/index.html @@ -82,7 +82,7 @@ diff --git a/evaluation/index.html b/evaluation/index.html index 761176d..fa05f4e 100644 --- a/evaluation/index.html +++ b/evaluation/index.html @@ -82,7 +82,7 @@ diff --git a/evaluation/progress-report-feb-2023.html b/evaluation/progress-report-feb-2023.html deleted file mode 100644 index 24cd7a9..0000000 --- a/evaluation/progress-report-feb-2023.html +++ /dev/null @@ -1,288 +0,0 @@ - - - - - - Progress report feb 2023 - keyword generics initiative - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - - - - - - - -
-
- -

Design

- -

base (reference)

- -

-#![allow(unused)]
-fn main() {
-/// A trimmed-down version of the `std::Iterator` trait.
-pub trait Iterator {
-    type Item;
-    fn next(&mut self) -> Option<Self::Item>;
-    fn size_hint(&self) -> (usize, Option<usize>);
-}
-
-/// An adaptation of `Iterator::find` to a free-function
-pub fn find<I, T, P>(iter: &mut I, predicate: P) -> Option<T>
-where
-    I: Iterator<Item = T> + Sized,
-    P: FnMut(&T) -> bool;
-}
-
-

always async

- -

-#![allow(unused)]
-fn main() {
-pub trait async Iterator {
-    type Item;
-    async fn next(&mut self) -> Option<Self::Item>;
-    fn size_hint(&self) -> (usize, Option<usize>);
-}
-
-pub async fn find<I, T, P>(iter: &mut I, predicate: P) -> Option<T>
-where
-    I: async Iterator<Item = T> + Sized,
-    P: async FnMut(&T) -> bool;
-}
-
-

maybe async

- -

-#![allow(unused)]
-fn main() {
-pub trait ?async Iterator {
-    type Item;
-    ?async fn next(&mut self) -> Option<Self::Item>;
-    fn size_hint(&self) -> (usize, Option<usize>);
-}
-
-pub ?async fn find<I, T, P>(iter: &mut I, predicate: P) -> Option<T>
-where
-    I: ?async Iterator<Item = T> + Sized,
-    P: ?async FnMut(&T) -> bool;
-}
-
-

generic over all modifier keywords

- -

A slight modification from the report, using effect instead of ?effect.

-

-#![allow(unused)]
-fn main() {
-pub trait effect Iterator {
-    type Item;
-    effect fn next(&mut self) -> Option<Self::Item>;
-    fn size_hint(&self) -> (usize, Option<usize>);
-}
-
-pub effect fn find<I, T, P>(iter: &mut I, predicate: P) -> Option<T>
-where
-    I: effect Iterator<Item = T> + Sized,
-    P: effect FnMut(&T) -> bool;
-}
-
-

Notes

-

This is the original design proposed by the Keyword Generics Initiatve in the -Feb 2023 Progress Report.

- - -
- - -
-
- - - -
- - - - - - - - - - - - - - - - - - - - diff --git a/evaluation/syntax/_template.html b/evaluation/syntax/_template.html index 554fd91..86930f3 100644 --- a/evaluation/syntax/_template.html +++ b/evaluation/syntax/_template.html @@ -82,7 +82,7 @@ diff --git a/evaluation/syntax/attributes.html b/evaluation/syntax/attributes.html index fd03eeb..6eb9cea 100644 --- a/evaluation/syntax/attributes.html +++ b/evaluation/syntax/attributes.html @@ -82,7 +82,7 @@ diff --git a/evaluation/syntax/const-bool-like-effects.html b/evaluation/syntax/const-bool-like-effects.html index 78c65a4..323c43f 100644 --- a/evaluation/syntax/const-bool-like-effects.html +++ b/evaluation/syntax/const-bool-like-effects.html @@ -82,7 +82,7 @@ diff --git a/evaluation/syntax/effect-as-a-clause.html b/evaluation/syntax/effect-as-a-clause.html index 2937c49..b4e94b0 100644 --- a/evaluation/syntax/effect-as-a-clause.html +++ b/evaluation/syntax/effect-as-a-clause.html @@ -82,7 +82,7 @@ diff --git a/evaluation/syntax/index.html b/evaluation/syntax/index.html index 6c72d4d..ff960b0 100644 --- a/evaluation/syntax/index.html +++ b/evaluation/syntax/index.html @@ -82,7 +82,7 @@ diff --git a/evaluation/syntax/postfix-question-mark.html b/evaluation/syntax/postfix-question-mark.html index 92d24e8..422ff0a 100644 --- a/evaluation/syntax/postfix-question-mark.html +++ b/evaluation/syntax/postfix-question-mark.html @@ -82,7 +82,7 @@ diff --git a/evaluation/syntax/where-effect-bounds.html b/evaluation/syntax/where-effect-bounds.html index 16ed282..64373ec 100644 --- a/evaluation/syntax/where-effect-bounds.html +++ b/evaluation/syntax/where-effect-bounds.html @@ -82,7 +82,7 @@ @@ -357,7 +357,7 @@

Effect sets

- @@ -371,7 +371,7 @@

Effect sets

- diff --git a/explainer/effect-generic-trait-declarations.html b/explainer/effect-generic-trait-declarations.html index a513443..d56b95f 100644 --- a/explainer/effect-generic-trait-declarations.html +++ b/explainer/effect-generic-trait-declarations.html @@ -82,7 +82,7 @@ diff --git a/explainer/index.html b/explainer/index.html index c3d30b4..33e2318 100644 --- a/explainer/index.html +++ b/explainer/index.html @@ -82,7 +82,7 @@ @@ -160,7 +160,7 @@

📚 Explainer