Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Mark fn map_or() as eagerly evaluated. #68886

Merged
merged 1 commit into from
Feb 7, 2020
Merged

Mark fn map_or() as eagerly evaluated. #68886

merged 1 commit into from
Feb 7, 2020

Conversation

tom-a-wagner
Copy link
Contributor

In the docs for option.rs and result.rs, it is noted for all *_or()
functions that they are eagerly evaluated, except for the map_or()
function.
This commit adds this missing documentation to the two files.

Closes #68866

@rust-highfive
Copy link
Collaborator

Thanks for the pull request, and welcome! The Rust team is excited to review your changes, and you should hear from @withoutboats (or someone else) soon.

If any changes to this PR are deemed necessary, please add them as extra commits. This ensures that the reviewer can see what has changed since they last reviewed the code. Due to the way GitHub handles out-of-date commits, this should also make it reasonably obvious what issues have or haven't been addressed. Large or tricky changes may require several passes of review and changes.

Please see the contribution instructions for more information.

@rust-highfive rust-highfive added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Feb 6, 2020
@Mark-Simulacrum
Copy link
Member

@bors r+ rollup

Thanks!

r? @Mark-Simulacrum

@bors
Copy link
Contributor

bors commented Feb 6, 2020

📌 Commit bd10e7284112900691ab81bc7a38d3cbb4ea4e87 has been approved by Mark-Simulacrum

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Feb 6, 2020
@rust-highfive
Copy link
Collaborator

The job x86_64-gnu-llvm-7 of your PR failed (pretty log, raw log). Through arcane magic we have determined that the following fragments from the build log may contain information about the problem.

Click to expand the log.
2020-02-06T11:14:49.2904882Z ========================== Starting Command Output ===========================
2020-02-06T11:14:49.2906312Z [command]/bin/bash --noprofile --norc /home/vsts/work/_temp/bba1447d-f5e1-4368-9b19-acfd294ccfbe.sh
2020-02-06T11:14:49.2906346Z 
2020-02-06T11:14:49.2911523Z ##[section]Finishing: Disable git automatic line ending conversion
2020-02-06T11:14:49.2917205Z ##[section]Starting: Checkout rust-lang/rust@refs/pull/68886/merge to s
2020-02-06T11:14:49.2918795Z Task         : Get sources
2020-02-06T11:14:49.2918877Z Description  : Get sources from a repository. Supports Git, TfsVC, and SVN repositories.
2020-02-06T11:14:49.2918914Z Version      : 1.0.0
2020-02-06T11:14:49.2918949Z Author       : Microsoft
---
2020-02-06T11:14:50.0953685Z ##[command]git remote add origin https://github.com/rust-lang/rust
2020-02-06T11:14:50.1030062Z ##[command]git config gc.auto 0
2020-02-06T11:14:50.1107776Z ##[command]git config --get-all http.https://github.com/rust-lang/rust.extraheader
2020-02-06T11:14:50.1143857Z ##[command]git config --get-all http.proxy
2020-02-06T11:14:50.1273240Z ##[command]git -c http.extraheader="AUTHORIZATION: basic ***" fetch --force --tags --prune --progress --no-recurse-submodules --depth=2 origin +refs/heads/*:refs/remotes/origin/* +refs/pull/68886/merge:refs/remotes/pull/68886/merge
---
2020-02-06T12:05:46.0082157Z .................................................................................................... 1700/9589
2020-02-06T12:05:50.4090615Z .................................................................................................... 1800/9589
2020-02-06T12:06:01.4056560Z .............................i...................................................................... 1900/9589
2020-02-06T12:06:07.9894542Z .................................................................................................... 2000/9589
2020-02-06T12:06:20.8041231Z ...................iiiii............................................................................ 2100/9589
2020-02-06T12:06:30.0021978Z .................................................................................................... 2300/9589
2020-02-06T12:06:32.2046897Z .................................................................................................... 2400/9589
2020-02-06T12:06:36.5464944Z .................................................................................................... 2500/9589
2020-02-06T12:06:55.4833177Z .................................................................................................... 2600/9589
---
2020-02-06T12:09:22.6257457Z ..............................................................i...............i..................... 4900/9589
2020-02-06T12:09:30.4113711Z .................................................................................................... 5000/9589
2020-02-06T12:09:37.8808236Z .................................................................................................... 5100/9589
2020-02-06T12:09:42.4084568Z .....i.............................................................................................. 5200/9589
2020-02-06T12:09:53.0190660Z ...............................................................................ii.ii........i...i... 5300/9589
2020-02-06T12:10:01.3094398Z .................i.................................................................................. 5500/9589
2020-02-06T12:10:10.0131072Z .................................................................................................... 5600/9589
2020-02-06T12:10:16.5377254Z ..................................................................i................................. 5700/9589
2020-02-06T12:10:23.6075053Z .................................................................................................... 5800/9589
2020-02-06T12:10:23.6075053Z .................................................................................................... 5800/9589
2020-02-06T12:10:30.5477514Z .................................................................................................... 5900/9589
2020-02-06T12:10:39.4215097Z .........................................................ii...i..ii...........i..................... 6000/9589
2020-02-06T12:10:58.8989706Z .................................................................................................... 6200/9589
2020-02-06T12:11:02.5948872Z .................................................................................................... 6300/9589
2020-02-06T12:11:02.5948872Z .................................................................................................... 6300/9589
2020-02-06T12:11:06.4521831Z .....................................................................................i..ii.......... 6400/9589
2020-02-06T12:11:27.8235605Z .................................................................................................... 6600/9589
2020-02-06T12:11:36.4762099Z .......................................................................i............................ 6700/9589
2020-02-06T12:11:38.5341139Z .................................................................................................... 6800/9589
2020-02-06T12:11:40.6850338Z .........................................................................i.......................... 6900/9589
---
2020-02-06T12:13:09.8982596Z .................................................................................................... 7600/9589
2020-02-06T12:13:14.3747944Z .................................................................................................... 7700/9589
2020-02-06T12:13:20.6450455Z .................................................................................................... 7800/9589
2020-02-06T12:13:28.5426947Z .................................................................................................... 7900/9589
2020-02-06T12:13:35.2048521Z ....................................iiiiiii.i....................................................... 8000/9589
2020-02-06T12:13:48.1865590Z .................................................................................................... 8200/9589
2020-02-06T12:13:55.4117294Z .................................................................................................... 8300/9589
2020-02-06T12:14:08.6379306Z .................................................................................................... 8400/9589
2020-02-06T12:14:15.4783920Z .................................................................................................... 8500/9589
---
2020-02-06T12:16:25.2191661Z  finished in 6.789
2020-02-06T12:16:25.2375910Z Check compiletest suite=codegen mode=codegen (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2020-02-06T12:16:25.4297022Z 
2020-02-06T12:16:25.4298388Z running 172 tests
2020-02-06T12:16:28.1766070Z iiii......i...........ii..iiii...i....i...........i............i..i..................i....i......... 100/172
2020-02-06T12:16:30.2747149Z ...i.i.i...iii..iiiiiiiiii.......................iii............ii......
2020-02-06T12:16:30.2748268Z 
2020-02-06T12:16:30.2754037Z  finished in 5.037
2020-02-06T12:16:30.2931477Z Check compiletest suite=codegen-units mode=codegen-units (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2020-02-06T12:16:30.4461400Z 
---
2020-02-06T12:16:32.3125687Z  finished in 2.019
2020-02-06T12:16:32.3309005Z Check compiletest suite=assembly mode=assembly (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2020-02-06T12:16:32.4759888Z 
2020-02-06T12:16:32.4760216Z running 9 tests
2020-02-06T12:16:32.4761324Z iiiiiiiii
2020-02-06T12:16:32.4762317Z 
2020-02-06T12:16:32.4766509Z  finished in 0.145
2020-02-06T12:16:32.4954678Z Check compiletest suite=incremental mode=incremental (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2020-02-06T12:16:32.6739808Z 
---
2020-02-06T12:16:51.0073111Z  finished in 18.511
2020-02-06T12:16:51.0284969Z Check compiletest suite=debuginfo mode=debuginfo (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2020-02-06T12:16:51.2091287Z 
2020-02-06T12:16:51.2091522Z running 116 tests
2020-02-06T12:17:03.9425335Z iiiii..i.....i..i...i..i.i.i..i..i..ii....i.i....ii..........iiii..........i.....i..i.......ii.i.ii. 100/116
2020-02-06T12:17:05.6722709Z ....iiii.....ii.
2020-02-06T12:17:05.6725803Z 
2020-02-06T12:17:05.6727527Z  finished in 14.643
2020-02-06T12:17:05.6728126Z Uplifting stage1 rustc (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2020-02-06T12:17:05.6728660Z Copying stage2 rustc from stage1 (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu / x86_64-unknown-linux-gnu)
---
2020-02-06T12:28:43.0644709Z 
2020-02-06T12:28:43.0649015Z    Doc-tests core
2020-02-06T12:28:47.1913039Z 
2020-02-06T12:28:47.1913302Z running 2471 tests
2020-02-06T12:28:55.3845276Z ......iiiii......................................................................................... 100/2471
2020-02-06T12:29:03.2743957Z ..................................................................................ii................ 200/2471
2020-02-06T12:29:21.8396833Z .................i.................................................................................. 400/2471
2020-02-06T12:29:21.8396833Z .................i.................................................................................. 400/2471
2020-02-06T12:29:30.7351672Z ......................................................................i..i..................iiii.... 500/2471
2020-02-06T12:29:45.3330895Z .................................................................................................... 700/2471
2020-02-06T12:29:52.9104338Z .................................................................................................... 800/2471
2020-02-06T12:30:00.4108665Z .................................................................................................... 900/2471
2020-02-06T12:30:08.0398811Z .................................................................................................... 1000/2471
---
2020-02-06T12:33:06.8762460Z .................................................thread '<unnamed>' panicked at 'explicit panic', src/libstd/io/stdio.rs:871:13
2020-02-06T12:33:06.8769539Z ... 300/760
2020-02-06T12:33:06.9534280Z .................................................................................................... 400/760
2020-02-06T12:33:09.0331634Z .................................................................................................... 500/760
2020-02-06T12:33:09.0597171Z .................thread '<unnamed>' panicked at 'called `Result::unwrap()` on an `Err` value: RecvError', src/libstd/sync/mpsc/mod.rs:2741:22
2020-02-06T12:33:09.0609254Z ....thread 'thread '<unnamed>' panicked at '<unnamed>' panicked at 'called `Result::unwrap()` on an `Err` value: "SendError(..)"', src/libstd/sync/mpsc/mod.rs:2766:17
2020-02-06T12:33:09.0618083Z .called `Result::unwrap()` on an `Err` value: RecvError', src/libstd/sync/mpsc/mod.rs:2778:.21.
2020-02-06T12:33:09.0630578Z ....thread '<unnamed>' panicked at 'called `Result::unwrap()` on an `Err` value: RecvError', src/libstd/sync/mpsc/mod.rs:2645:13
2020-02-06T12:33:09.4902248Z ..........................................thread '<unnamed>' panicked at 'called `Result::unwrap()` on an `Err` value: RecvError', src/libstd/sync/mpsc/mod.rs:1997:22
2020-02-06T12:33:09.4909781Z ....thread '<unnamed>' panicked at 'called `Result::unwrap()` on an `Err` value: RecvError', src/libstd/sync/mpsc/mod.rs:2034:21
2020-02-06T12:33:09.4970616Z .......thread '<unnamed>' panicked at 'called `Result::unwrap()` on an `Err` value: RecvError', src/libstd/sync/mpsc/mod.rs:1916:13
2020-02-06T12:33:09.5304408Z ................... 600/760
2020-02-06T12:33:11.5602217Z ....................thread '<unnamed>' panicked at 'explicit panic', src/libstd/sync/mutex.rs:633:13
2020-02-06T12:33:11.5604907Z .thread '<unnamed>' panicked at 'test panic in inner thread to poison mutex', src/libstd/sync/mutex.rs:587:13
2020-02-06T12:33:11.5604907Z .thread '<unnamed>' panicked at 'test panic in inner thread to poison mutex', src/libstd/sync/mutex.rs:587:13
2020-02-06T12:33:11.5638690Z ...thread '<unnamed>' panicked at 'test panic in inner thread to poison mutex', src/libstd/sync/mutex.rs:563:13
2020-02-06T12:33:11.5639511Z thread '<unnamed>' panicked at 'explicit panic', src/libstd/sync/mutex.rs:694:13
2020-02-06T12:33:11.5640267Z .........thread '<unnamed>' panicked at 'assertion failed: `(left == right)`
2020-02-06T12:33:11.5640412Z   left: `1`,
2020-02-06T12:33:11.5641070Z  right: `2`', src/libstd/sync/mutex.rs:657:13
2020-02-06T12:33:11.5704486Z .....thread '<unnamed>' panicked at 'test panic in inner thread to poison RwLock', src/libstd/sync/rwlock.rs:792:13
2020-02-06T12:33:11.5714868Z ...thread '<unnamed>' panicked at 'test panic in inner thread to poison RwLock', src/libstd/sync/rwlock.rs:768:13
2020-02-06T12:33:11.5722071Z ..thread '<unnamed>' panicked at 'explicit panic', src/libstd/sync/rwlock.rs:704:13
2020-02-06T12:33:11.5728861Z .thread '<unnamed>' panicked at 'explicit panic', .src/libstd/sync/rwlock.rs:632:13
2020-02-06T12:33:11.5734480Z thread '<unnamed>.' panicked at 'explicit panic', src/libstd/sync/rwlock.rs:644:13
2020-02-06T12:33:11.5737570Z thread '<unnamed>' panicked at 'explicit panic', src/libstd/sync/rwlock.rs:619:13
2020-02-06T12:33:13.6121022Z ...........................thread '<unnamed>' panicked at 'What the answer to my lifetimes dilemma is?', src/libstd/sys_common/remutex.rs:229:13
2020-02-06T12:33:13.6164149Z ........................... 700/760
2020-02-06T12:33:13.6218277Z ................................thread '<unnamed>' panicked at 'explicit panic', src/libstd/thread/mod.rs:1573:37
---
2020-02-06T12:33:20.4576202Z 
2020-02-06T12:33:20.4576457Z running 1009 tests
2020-02-06T12:33:36.1659871Z i................................................................................................... 100/1009
2020-02-06T12:33:44.9041811Z .................................................................................................... 200/1009
2020-02-06T12:33:51.0514595Z ..................iii......i......i...i......i...................................................... 300/1009
2020-02-06T12:33:55.4421904Z .................................................................................................... 400/1009
2020-02-06T12:34:01.3816319Z ............................................i..i.....................................ii............. 500/1009
2020-02-06T12:34:12.4604952Z .................................................................................................... 700/1009
2020-02-06T12:34:12.4604952Z .................................................................................................... 700/1009
2020-02-06T12:34:18.3000056Z ...................................iiii............................................................. 800/1009
2020-02-06T12:34:30.5979837Z .................................................................................................... 900/1009
2020-02-06T12:34:36.6025541Z .........................................................iiii....................................... 1000/1009
2020-02-06T12:34:36.9765416Z test result: ok. 989 passed; 0 failed; 20 ignored; 0 measured; 0 filtered out
2020-02-06T12:34:36.9765829Z 
2020-02-06T12:34:36.9879455Z  finished in 149.708
2020-02-06T12:34:36.9890349Z Testing term stage1 (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
---
2020-02-06T12:50:25.6921193Z  Documenting core v0.0.0 (/checkout/src/libcore)
2020-02-06T12:50:36.5961931Z error: `[map_or_else]` cannot be resolved, ignoring it.
2020-02-06T12:50:36.5963768Z    --> src/libcore/option.rs:459:66
2020-02-06T12:50:36.5964428Z     |
2020-02-06T12:50:36.5965282Z 459 |     /// the result of a function call, it is recommended to use [`map_or_else`],
2020-02-06T12:50:36.5966910Z     |
2020-02-06T12:50:36.5967579Z note: the lint level is defined here
2020-02-06T12:50:36.5968276Z    --> src/libcore/lib.rs:64:9
2020-02-06T12:50:36.5968904Z     |
2020-02-06T12:50:36.5968904Z     |
2020-02-06T12:50:36.5969700Z 64  | #![deny(intra_doc_link_resolution_failure)] // rustdoc is run without -D warnings
2020-02-06T12:50:36.5971288Z     = help: to escape `[` and `]` characters, just add '\' before them like `\[` or `\]`
2020-02-06T12:50:36.5971546Z 
2020-02-06T12:50:36.5989963Z error: `[map_or_else]` cannot be resolved, ignoring it.
2020-02-06T12:50:36.5990804Z    --> src/libcore/result.rs:528:66
2020-02-06T12:50:36.5990804Z    --> src/libcore/result.rs:528:66
2020-02-06T12:50:36.5991422Z     |
2020-02-06T12:50:36.5992302Z 528 |     /// the result of a function call, it is recommended to use [`map_or_else`],
2020-02-06T12:50:36.5994467Z     |
2020-02-06T12:50:36.5995064Z     = help: to escape `[` and `]` characters, just add '\' before them like `\[` or `\]`
2020-02-06T12:50:36.5995153Z 
2020-02-06T12:50:36.9761274Z error: aborting due to 2 previous errors
2020-02-06T12:50:36.9761274Z error: aborting due to 2 previous errors
2020-02-06T12:50:36.9761432Z 
2020-02-06T12:50:37.5318908Z error: Could not document `core`.
2020-02-06T12:50:37.5318983Z 
2020-02-06T12:50:37.5319033Z Caused by:
2020-02-06T12:50:37.5320069Z   process didn't exit successfully: `/checkout/obj/build/bootstrap/debug/rustdoc --edition=2018 --crate-type lib --crate-name core src/libcore/lib.rs --target x86_64-unknown-linux-gnu -o /checkout/obj/build/x86_64-unknown-linux-gnu/stage2-std/x86_64-unknown-linux-gnu/doc --error-format=json --json=diagnostic-rendered-ansi --markdown-css rust.css --markdown-no-toc --generate-redirect-pages --resource-suffix 1.43.0 --index-page /checkout/src/doc/index.md -L dependency=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-std/x86_64-unknown-linux-gnu/release/deps -L dependency=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-std/release/deps` (exit code: 1)
2020-02-06T12:50:37.5320213Z 
2020-02-06T12:50:37.5320213Z 
2020-02-06T12:50:37.5320899Z command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "rustdoc" "-Zconfig-profile" "--target" "x86_64-unknown-linux-gnu" "-Zbinary-dep-depinfo" "-j" "2" "--release" "--locked" "--color" "always" "--features" "panic-unwind backtrace compiler-builtins-c" "--manifest-path" "/checkout/src/libtest/Cargo.toml" "-Z" "unstable-options" "-p" "core" "--" "--markdown-css" "rust.css" "--markdown-no-toc" "--generate-redirect-pages" "--resource-suffix" "1.43.0" "--index-page" "/checkout/src/doc/index.md"
2020-02-06T12:50:37.5321118Z 
2020-02-06T12:50:37.5321146Z 
2020-02-06T12:50:37.5321210Z failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test
2020-02-06T12:50:37.5321260Z Build completed unsuccessfully in 1:30:14
2020-02-06T12:50:37.5321260Z Build completed unsuccessfully in 1:30:14
2020-02-06T12:50:37.5321307Z == clock drift check ==
2020-02-06T12:50:37.5321376Z   local time: Thu Feb  6 12:50:37 UTC 2020
2020-02-06T12:50:37.5321425Z   network time: Thu, 06 Feb 2020 12:50:37 GMT
2020-02-06T12:50:37.5321470Z == end clock drift check ==
2020-02-06T12:50:38.2020553Z 
2020-02-06T12:50:38.2119622Z ##[error]Bash exited with code '1'.
2020-02-06T12:50:38.2131460Z ##[section]Finishing: Run build
2020-02-06T12:50:38.2175451Z ##[section]Starting: Checkout rust-lang/rust@refs/pull/68886/merge to s
2020-02-06T12:50:38.2177296Z Task         : Get sources
2020-02-06T12:50:38.2177363Z Description  : Get sources from a repository. Supports Git, TfsVC, and SVN repositories.
2020-02-06T12:50:38.2177412Z Version      : 1.0.0
2020-02-06T12:50:38.2177457Z Author       : Microsoft
2020-02-06T12:50:38.2177457Z Author       : Microsoft
2020-02-06T12:50:38.2177520Z Help         : [More Information](https://go.microsoft.com/fwlink/?LinkId=798199)
2020-02-06T12:50:38.2177575Z ==============================================================================
2020-02-06T12:50:38.6063404Z Cleaning any cached credential from repository: rust-lang/rust (GitHub)
2020-02-06T12:50:38.6102857Z ##[section]Finishing: Checkout rust-lang/rust@refs/pull/68886/merge to s
2020-02-06T12:50:38.6212494Z Cleaning up task key
2020-02-06T12:50:38.6213227Z Start cleaning up orphan processes.
2020-02-06T12:50:38.6324878Z Terminate orphan process: pid (5824) (python)
2020-02-06T12:50:38.6657716Z ##[section]Finishing: Finalize Job

I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact @TimNN. (Feature Requests)

@Mark-Simulacrum
Copy link
Member

@bors r- per ci failure

@bors bors added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Feb 6, 2020
In the docs for option.rs and result.rs, it is noted for all *_or()
functions that they are eagerly evaluated, except for the map_or()
function.
This commit adds this missing documentation to the two files.
@Mark-Simulacrum
Copy link
Member

r=me with CI passing

@Mark-Simulacrum
Copy link
Member

@bors r+

@bors
Copy link
Contributor

bors commented Feb 6, 2020

📌 Commit d646463 has been approved by Mark-Simulacrum

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. labels Feb 6, 2020
Dylan-DPC-zz pushed a commit to Dylan-DPC-zz/rust that referenced this pull request Feb 6, 2020
Mark fn map_or() as eagerly evaluated.

In the docs for option.rs and result.rs, it is noted for all *_or()
functions that they are eagerly evaluated, except for the map_or()
function.
This commit adds this missing documentation to the two files.

Closes rust-lang#68866
bors added a commit that referenced this pull request Feb 7, 2020
Rollup of 6 pull requests

Successful merges:

 - #67359 (Rename -Zexternal-macro-backtrace to -Zmacro-backtrace and clean up implementation.)
 - #68524 (Generator Resume Arguments)
 - #68791 (implement proper linkchecker hardening)
 - #68886 (Mark fn map_or() as eagerly evaluated.)
 - #68888 (error code examples: replace some more ignore with compile_fail)
 - #68894 (Update E0565 examples)

Failed merges:

r? @ghost
@bors bors merged commit d646463 into rust-lang:master Feb 7, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

map_or Documentation should note that the arguments are eagerly evaluated
5 participants