<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/src/librustc_parse_format, branch try</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=try</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=try'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2020-08-30T15:45:07+00:00</updated>
<entry>
<title>mv compiler to compiler/</title>
<updated>2020-08-30T15:45:07+00:00</updated>
<author>
<name>mark</name>
<email>markm@cs.wisc.edu</email>
</author>
<published>2020-08-28T03:58:48+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=9e5f7d5631b8f4009ac1c693e585d4b7108d4275'/>
<id>urn:sha1:9e5f7d5631b8f4009ac1c693e585d4b7108d4275</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix ICE due to carriage return w/ multibyte char</title>
<updated>2020-08-27T03:29:06+00:00</updated>
<author>
<name>kadmin</name>
<email>julianknodt@gmail.com</email>
</author>
<published>2020-08-27T02:18:38+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=ed9df28655607a17f01714b67930bdddba14fb26'/>
<id>urn:sha1:ed9df28655607a17f01714b67930bdddba14fb26</id>
<content type='text'>
Based off of
https://github.com/kfitch/rust/commit/972560b83f80e1219b5735ff3d751c034115b08e
</content>
</entry>
<entry>
<title>fix clippy::map_identity: remove redundant .map(|x| x) call</title>
<updated>2020-08-07T20:47:32+00:00</updated>
<author>
<name>Matthias Krüger</name>
<email>matthias.krueger@famsik.de</email>
</author>
<published>2020-08-01T15:46:59+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=fb975cd6fb0858fe285376792dcf40d324ebfad5'/>
<id>urn:sha1:fb975cd6fb0858fe285376792dcf40d324ebfad5</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Eliminate confusing "globals" terminology.</title>
<updated>2020-07-09T04:11:44+00:00</updated>
<author>
<name>Nicholas Nethercote</name>
<email>nnethercote@mozilla.com</email>
</author>
<published>2020-07-06T00:53:14+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=81c5bb6a3fb02d1c1c3a4698e9e0e031ef2f4e4e'/>
<id>urn:sha1:81c5bb6a3fb02d1c1c3a4698e9e0e031ef2f4e4e</id>
<content type='text'>
There are some structures that are called "globals", but are they global
to a compilation session, and not truly global. I have always found this
highly confusing, so this commit renames them as "session globals" and
adds a comment explaining things.

Also, the commit fixes an unnecessary nesting of `set()` calls
`src/librustc_errors/json/tests.rs`
</content>
</entry>
<entry>
<title>Add `format_args_capture` feature</title>
<updated>2020-06-24T07:29:55+00:00</updated>
<author>
<name>David Hewitt</name>
<email>1939362+davidhewitt@users.noreply.github.com</email>
</author>
<published>2019-10-12T14:07:13+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=6b95f3102d657a5cd0549213a073b28c7e0fe609'/>
<id>urn:sha1:6b95f3102d657a5cd0549213a073b28c7e0fe609</id>
<content type='text'>
</content>
</entry>
<entry>
<title>asm: Allow multiple template strings; interpret them as newline-separated</title>
<updated>2020-06-15T19:35:27+00:00</updated>
<author>
<name>Josh Triplett</name>
<email>josh@joshtriplett.org</email>
</author>
<published>2020-06-15T06:33:55+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=1078b6f9420c47fe99553d9dd8a58b232ba84b5e'/>
<id>urn:sha1:1078b6f9420c47fe99553d9dd8a58b232ba84b5e</id>
<content type='text'>
Allow the `asm!` macro to accept a series of template arguments, and
interpret them as if they were concatenated with a '\n' between them.
This allows writing an `asm!` where each line of assembly appears in a
separate template string argument.

This syntax makes it possible for rustfmt to reliably format and indent
each line of assembly, without risking changes to the inside of a
template string. It also avoids the complexity of having the user
carefully format and indent a multi-line string (including where to put
the surrounding quotes), and avoids the extra indentation and lines of a
call to `concat!`.

For example, rewriting the second example from the [blog post on the new
inline assembly
syntax](https://blog.rust-lang.org/inside-rust/2020/06/08/new-inline-asm.html)
using multiple template strings:

```rust

fn main() {
    let mut bits = [0u8; 64];
    for value in 0..=1024u64 {
        let popcnt;
        unsafe {
            asm!(
                "    popcnt {popcnt}, {v}",
                "2:",
                "    blsi rax, {v}",
                "    jz 1f",
                "    xor {v}, rax",
                "    tzcnt rax, rax",
                "    stosb",
                "    jmp 2b",
                "1:",
                v = inout(reg) value =&gt; _,
                popcnt = out(reg) popcnt,
                out("rax") _, // scratch
                inout("rdi") bits.as_mut_ptr() =&gt; _,
            );
        }
        println!("bits of {}: {:?}", value, &amp;bits[0..popcnt]);
    }
}
```

Note that all the template strings must appear before all other
arguments; you cannot, for instance, provide a series of template
strings intermixed with the corresponding operands.

In order to get srcloc mappings right for macros that generate
multi-line string literals, create one line_span for each
line in the string literal, each pointing to the macro.

Make `rustc_parse_format::Parser::curarg` `pub`, so that we can
propagate it from one template string argument to the next.
</content>
</entry>
<entry>
<title>Make things build again</title>
<updated>2020-06-02T17:38:24+00:00</updated>
<author>
<name>Vadim Petrochenkov</name>
<email>vadim.petrochenkov@gmail.com</email>
</author>
<published>2020-06-02T17:03:40+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=11d951492ce68ef692c1d9a77bebde22b57cf0c6'/>
<id>urn:sha1:11d951492ce68ef692c1d9a77bebde22b57cf0c6</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Rename directories for some compiler crates from `libx` to `librustc_x`</title>
<updated>2020-06-02T16:53:33+00:00</updated>
<author>
<name>Vadim Petrochenkov</name>
<email>vadim.petrochenkov@gmail.com</email>
</author>
<published>2020-06-02T16:53:33+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=47197d69ab12be03915ecaac09b80896633857dd'/>
<id>urn:sha1:47197d69ab12be03915ecaac09b80896633857dd</id>
<content type='text'>
libarena -&gt; librustc_arena
libfmt_macros -&gt; librustc_parse_format
libgraphviz -&gt; librustc_graphviz
libserialize -&gt; librustc_serialize
</content>
</entry>
</feed>
