{"action":"created","issue":{"url":"https://api.github.com/repos/rust-lang/rust/issues/50297","repository_url":"https://api.github.com/repos/rust-lang/rust","labels_url":"https://api.github.com/repos/rust-lang/rust/issues/50297/labels{/name}","comments_url":"https://api.github.com/repos/rust-lang/rust/issues/50297/comments","events_url":"https://api.github.com/repos/rust-lang/rust/issues/50297/events","html_url":"https://github.com/rust-lang/rust/issues/50297","id":318606494,"node_id":"MDU6SXNzdWUzMTg2MDY0OTQ=","number":50297,"title":"Tracking issue for eRFC 2318, Custom test frameworks","user":{"login":"Centril","id":855702,"node_id":"MDQ6VXNlcjg1NTcwMg==","avatar_url":"https://avatars2.githubusercontent.com/u/855702?v=4","gravatar_id":"","url":"https://api.github.com/users/Centril","html_url":"https://github.com/Centril","followers_url":"https://api.github.com/users/Centril/followers","following_url":"https://api.github.com/users/Centril/following{/other_user}","gists_url":"https://api.github.com/users/Centril/gists{/gist_id}","starred_url":"https://api.github.com/users/Centril/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Centril/subscriptions","organizations_url":"https://api.github.com/users/Centril/orgs","repos_url":"https://api.github.com/users/Centril/repos","events_url":"https://api.github.com/users/Centril/events{/privacy}","received_events_url":"https://api.github.com/users/Centril/received_events","type":"User","site_admin":false},"labels":[{"id":630810559,"node_id":"MDU6TGFiZWw2MzA4MTA1NTk=","url":"https://api.github.com/repos/rust-lang/rust/labels/A-libtest","name":"A-libtest","color":"d7e102","default":false},{"id":89436934,"node_id":"MDU6TGFiZWw4OTQzNjkzNA==","url":"https://api.github.com/repos/rust-lang/rust/labels/B-RFC-approved","name":"B-RFC-approved","color":"d304cb","default":false},{"id":650846969,"node_id":"MDU6TGFiZWw2NTA4NDY5Njk=","url":"https://api.github.com/repos/rust-lang/rust/labels/C-tracking-issue","name":"C-tracking-issue","color":"f5f1fd","default":false},{"id":609101895,"node_id":"MDU6TGFiZWw2MDkxMDE4OTU=","url":"https://api.github.com/repos/rust-lang/rust/labels/T-cargo","name":"T-cargo","color":"bfd4f2","default":false},{"id":602425123,"node_id":"MDU6TGFiZWw2MDI0MjUxMjM=","url":"https://api.github.com/repos/rust-lang/rust/labels/T-dev-tools","name":"T-dev-tools","color":"bfd4f2","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":12,"created_at":"2018-04-28T06:44:32Z","updated_at":"2018-08-21T18:07:41Z","closed_at":null,"author_association":"CONTRIBUTOR","body":"This is a tracking issue for the eRFC \"Custom test frameworks\" (rust-lang/rfcs#2318).\r\n\r\n**Steps:**\r\n\r\n- [ ] Implement the RFC (cc @rust-lang/dev-tools @rust-lang/cargo -- can anyone write up mentoring instructions?)\r\n- [ ] Adjust documentation ([see instructions on forge][doc-guide])\r\n- [ ] Stabilization PR ([see instructions on forge][stabilization-guide])\r\n\r\n[stabilization-guide]: https://forge.rust-lang.org/stabilization-guide.html\r\n[doc-guide]: https://forge.rust-lang.org/stabilization-guide.html#updating-documentation\r\n\r\n**Unresolved questions:**\r\n\r\n- [ ] [Integration with doctests](https://github.com/rust-lang/rfcs/blob/master/text/2318-custom-test-frameworks.md#integration-with-doctests)\r\n- [ ] [Standardizing the output](https://github.com/rust-lang/rfcs/blob/master/text/2318-custom-test-frameworks.md#standardizing-the-output-1)\r\n- [ ] [Namespacing](https://github.com/rust-lang/rfcs/blob/master/text/2318-custom-test-frameworks.md#namespacing)\r\n- [ ] [Runtime dependencies and flags](https://github.com/rust-lang/rfcs/blob/master/text/2318-custom-test-frameworks.md#runtime-dependencies-and-flags)\r\n- [ ] [Naming](https://github.com/rust-lang/rfcs/blob/master/text/2318-custom-test-frameworks.md#naming)\r\n- [ ] [Bencher](https://github.com/rust-lang/rfcs/blob/master/text/2318-custom-test-frameworks.md#bencher)\r\n- [ ] [Cargo integration](https://github.com/rust-lang/rfcs/blob/master/text/2318-custom-test-frameworks.md#cargo-integration)"},"comment":{"url":"https://api.github.com/repos/rust-lang/rust/issues/comments/414768659","html_url":"https://github.com/rust-lang/rust/issues/50297#issuecomment-414768659","issue_url":"https://api.github.com/repos/rust-lang/rust/issues/50297","id":414768659,"node_id":"MDEyOklzc3VlQ29tbWVudDQxNDc2ODY1OQ==","user":{"login":"djrenren","id":634666,"node_id":"MDQ6VXNlcjYzNDY2Ng==","avatar_url":"https://avatars0.githubusercontent.com/u/634666?v=4","gravatar_id":"","url":"https://api.github.com/users/djrenren","html_url":"https://github.com/djrenren","followers_url":"https://api.github.com/users/djrenren/followers","following_url":"https://api.github.com/users/djrenren/following{/other_user}","gists_url":"https://api.github.com/users/djrenren/gists{/gist_id}","starred_url":"https://api.github.com/users/djrenren/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/djrenren/subscriptions","organizations_url":"https://api.github.com/users/djrenren/orgs","repos_url":"https://api.github.com/users/djrenren/repos","events_url":"https://api.github.com/users/djrenren/events{/privacy}","received_events_url":"https://api.github.com/users/djrenren/received_events","type":"User","site_admin":false},"created_at":"2018-08-21T18:07:41Z","updated_at":"2018-08-21T18:07:41Z","author_association":"CONTRIBUTOR","body":"@jonhoo \r\n\r\n> Early on, you say that...\r\n\r\nI don't want to get too bikesheddy on how that particular macro would work but basically we'd just produce a single const that had the `#[test_case]` annotation. The children would be aggregated inside it. \r\n\r\n> I assume the latter is the correct version?\r\n\r\n`Fn(&[&Foo]) -> ()` is a subtype `Fn(&[&mut Foo]) -> impl Termination`. It's not required that Foo be a Trait but if it is, then you need `dyn`, so those two lines aren't in contradiction.\r\n\r\n> Is TestDescAndFn sufficient for our purposes here?\r\n\r\nI agree `TestDescAndFn` is not sufficient, though it could successfully be constructed from all sorts of things with the use of proc macros. I think for libtest we should just make a trait that essentially mirrors `TestDescAndFn` and accept that.\r\n\r\n> One of the earlier RFCs had a section on separating the test harness from the test executor, with the former controlling output and the latter how tests are written and executed.\r\n\r\nThis is still entirely possible under the current design, it just requires the test runner to be designed to be pluggable."}}
{"actor":{"display_login":"djrenren"}}