<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/compiler/rustc_data_structures/Cargo.toml, branch 1.52.0</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=1.52.0</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=1.52.0'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2021-03-11T01:53:35+00:00</updated>
<entry>
<title>Update to rustc-rayon 0.3.1</title>
<updated>2021-03-11T01:53:35+00:00</updated>
<author>
<name>Josh Stone</name>
<email>jistone@redhat.com</email>
</author>
<published>2021-03-11T01:53:35+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=f7e75a2124ccd8e0a655220f70fd1eba765cf5d2'/>
<id>urn:sha1:f7e75a2124ccd8e0a655220f70fd1eba765cf5d2</id>
<content type='text'>
This pulls in rust-lang/rustc-rayon#8 to fix #81425. (h/t @ammaraskar)

That revealed weak constraints on `rustc_arena::DropArena`, because its
`DropType` was holding type-erased raw pointers to generic `T`. We can
implement `Send` for `DropType` (under `cfg(parallel_compiler)`) by
requiring all `T: Send` before they're type-erased.
</content>
</entry>
<entry>
<title>Update measureme dependency to the latest version</title>
<updated>2021-02-25T23:25:38+00:00</updated>
<author>
<name>Wesley Wiser</name>
<email>wesleywiser@microsoft.com</email>
</author>
<published>2021-02-25T23:25:38+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=e130e9cf7787ef83f9cada14b7a2579b09c6a558'/>
<id>urn:sha1:e130e9cf7787ef83f9cada14b7a2579b09c6a558</id>
<content type='text'>
This version adds the ability to use `rdpmc` hardware-based performance
counters instead of wall-clock time for measuring duration. This also
introduces a dependency on the `perf-event-open-sys` crate on Linux
which is used when using hardware counters.
</content>
</entry>
<entry>
<title>bumped smallvec deps</title>
<updated>2021-02-14T15:03:11+00:00</updated>
<author>
<name>klensy</name>
<email>klensy@users.noreply.github.com</email>
</author>
<published>2021-02-14T14:37:30+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=93c8ebe022d0eac6fb02848dc85f003cf7b7503c'/>
<id>urn:sha1:93c8ebe022d0eac6fb02848dc85f003cf7b7503c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Upgrade to measureme 9.0.0</title>
<updated>2020-10-25T02:39:42+00:00</updated>
<author>
<name>Wesley Wiser</name>
<email>wwiser@gmail.com</email>
</author>
<published>2020-10-01T12:34:48+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=5ac5556d63ac03a4d73982ca8cc8287823e876f1'/>
<id>urn:sha1:5ac5556d63ac03a4d73982ca8cc8287823e876f1</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Auto merge of #76928 - lcnr:opaque-types-cache, r=tmandry</title>
<updated>2020-09-22T22:52:07+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2020-09-22T22:52:07+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=6d3acf5129767db78a3d9d62e814ec86b8870d75'/>
<id>urn:sha1:6d3acf5129767db78a3d9d62e814ec86b8870d75</id>
<content type='text'>
cache types during normalization

partially fixes #75992

reduces the following test from 14 to 3 seconds locally.

cc `@Mark-Simulacrum` would it make sense to add that test to `perf`?
```rust
#![recursion_limit="2048"]
#![type_length_limit="112457564"]

pub async fn h0(v: &amp;String, x: &amp;u64) { println!("{} {}", v, x) }
pub async fn h1(v: &amp;String, x: &amp;u64) { h0(v, x).await }
pub async fn h2(v: &amp;String, x: &amp;u64) { h1(v, x).await }
pub async fn h3(v: &amp;String, x: &amp;u64) { h2(v, x).await }
pub async fn h4(v: &amp;String, x: &amp;u64) { h3(v, x).await }
pub async fn h5(v: &amp;String, x: &amp;u64) { h4(v, x).await }
pub async fn h6(v: &amp;String, x: &amp;u64) { h5(v, x).await }
pub async fn h7(v: &amp;String, x: &amp;u64) { h6(v, x).await }
pub async fn h8(v: &amp;String, x: &amp;u64) { h7(v, x).await }
pub async fn h9(v: &amp;String, x: &amp;u64) { h8(v, x).await }

pub async fn h10(v: &amp;String, x: &amp;u64) { h9(v, x).await }
pub async fn h11(v: &amp;String, x: &amp;u64) { h10(v, x).await }
pub async fn h12(v: &amp;String, x: &amp;u64) { h11(v, x).await }
pub async fn h13(v: &amp;String, x: &amp;u64) { h12(v, x).await }
pub async fn h14(v: &amp;String, x: &amp;u64) { h13(v, x).await }
pub async fn h15(v: &amp;String, x: &amp;u64) { h14(v, x).await }
pub async fn h16(v: &amp;String, x: &amp;u64) { h15(v, x).await }
pub async fn h17(v: &amp;String, x: &amp;u64) { h16(v, x).await }
pub async fn h18(v: &amp;String, x: &amp;u64) { h17(v, x).await }
pub async fn h19(v: &amp;String, x: &amp;u64) { h18(v, x).await }

macro_rules! async_recursive {
    (29, $inner:expr) =&gt; { async { async_recursive!(28, $inner) }.await };
    (28, $inner:expr) =&gt; { async { async_recursive!(27, $inner) }.await };
    (27, $inner:expr) =&gt; { async { async_recursive!(26, $inner) }.await };
    (26, $inner:expr) =&gt; { async { async_recursive!(25, $inner) }.await };
    (25, $inner:expr) =&gt; { async { async_recursive!(24, $inner) }.await };
    (24, $inner:expr) =&gt; { async { async_recursive!(23, $inner) }.await };
    (23, $inner:expr) =&gt; { async { async_recursive!(22, $inner) }.await };
    (22, $inner:expr) =&gt; { async { async_recursive!(21, $inner) }.await };
    (21, $inner:expr) =&gt; { async { async_recursive!(20, $inner) }.await };
    (20, $inner:expr) =&gt; { async { async_recursive!(19, $inner) }.await };

    (19, $inner:expr) =&gt; { async { async_recursive!(18, $inner) }.await };
    (18, $inner:expr) =&gt; { async { async_recursive!(17, $inner) }.await };
    (17, $inner:expr) =&gt; { async { async_recursive!(16, $inner) }.await };
    (16, $inner:expr) =&gt; { async { async_recursive!(15, $inner) }.await };
    (15, $inner:expr) =&gt; { async { async_recursive!(14, $inner) }.await };
    (14, $inner:expr) =&gt; { async { async_recursive!(13, $inner) }.await };
    (13, $inner:expr) =&gt; { async { async_recursive!(12, $inner) }.await };
    (12, $inner:expr) =&gt; { async { async_recursive!(11, $inner) }.await };
    (11, $inner:expr) =&gt; { async { async_recursive!(10, $inner) }.await };
    (10, $inner:expr) =&gt; { async { async_recursive!(9, $inner) }.await };

    (9, $inner:expr) =&gt; { async { async_recursive!(8, $inner) }.await };
    (8, $inner:expr) =&gt; { async { async_recursive!(7, $inner) }.await };
    (7, $inner:expr) =&gt; { async { async_recursive!(6, $inner) }.await };
    (6, $inner:expr) =&gt; { async { async_recursive!(5, $inner) }.await };
    (5, $inner:expr) =&gt; { async { async_recursive!(4, $inner) }.await };
    (4, $inner:expr) =&gt; { async { async_recursive!(3, $inner) }.await };
    (3, $inner:expr) =&gt; { async { async_recursive!(2, $inner) }.await };
    (2, $inner:expr) =&gt; { async { async_recursive!(1, $inner) }.await };
    (1, $inner:expr) =&gt; { async { async_recursive!(0, $inner) }.await };
    (0, $inner:expr) =&gt; { async { h19(&amp;String::from("owo"), &amp;0).await; $inner }.await };
}

async fn f() {
    async_recursive!(14, println!("hello"));
}

fn main() {
    let _ = f();
}
```
r? `@eddyb` requires a perf run.
</content>
</entry>
<entry>
<title>To avoid monomorphizing `psm::on_stack::with_on_stack` 1500 times, I made a change in `stacker` to wrap the callback in `dyn`.</title>
<updated>2020-09-20T17:07:52+00:00</updated>
<author>
<name>Julian Wollersberger</name>
<email>julian.wollersberger@gmx.at</email>
</author>
<published>2020-09-20T17:07:52+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=53aaa1e532657390edfbe046a3f18d95e9543424'/>
<id>urn:sha1:53aaa1e532657390edfbe046a3f18d95e9543424</id>
<content type='text'>
</content>
</entry>
<entry>
<title>cache types during normalization</title>
<updated>2020-09-19T15:27:13+00:00</updated>
<author>
<name>Bastian Kauschke</name>
<email>bastian_kauschke@hotmail.de</email>
</author>
<published>2020-09-19T15:27:13+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=1146c39da74b3875e6667aeeafde2773644dc8b6'/>
<id>urn:sha1:1146c39da74b3875e6667aeeafde2773644dc8b6</id>
<content type='text'>
</content>
</entry>
<entry>
<title>update the version of itertools and parking_lot</title>
<updated>2020-09-12T06:26:53+00:00</updated>
<author>
<name>Andreas Jonson</name>
<email>andjo403@users.noreply.github.com</email>
</author>
<published>2020-09-12T06:24:09+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=b8752fff19fdf5d6b821eefe1cf6709d4cad8cdf'/>
<id>urn:sha1:b8752fff19fdf5d6b821eefe1cf6709d4cad8cdf</id>
<content type='text'>
this is to avoid compiling multiple version of the crates in rustc
</content>
</entry>
<entry>
<title>datastructures: replace `lazy_static` by `SyncLazy` from std</title>
<updated>2020-09-01T21:06:47+00:00</updated>
<author>
<name>marmeladema</name>
<email>xademax@gmail.com</email>
</author>
<published>2020-08-30T10:48:50+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=1b650d0fea209e0b69407a0a1e04feeb57c4b2d4'/>
<id>urn:sha1:1b650d0fea209e0b69407a0a1e04feeb57c4b2d4</id>
<content type='text'>
</content>
</entry>
<entry>
<title>datastructures: replace `once_cell` crate with an impl from std</title>
<updated>2020-08-30T19:06:14+00:00</updated>
<author>
<name>marmeladema</name>
<email>xademax@gmail.com</email>
</author>
<published>2020-08-29T18:16:49+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=68500ffacb4d28586a9c17799ab73e41aa2cfe94'/>
<id>urn:sha1:68500ffacb4d28586a9c17799ab73e41aa2cfe94</id>
<content type='text'>
</content>
</entry>
</feed>
