<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/compiler/rustc_codegen_ssa/src/errors.rs, branch 1.72.0</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=1.72.0</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=1.72.0'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2023-07-02T11:41:36+00:00</updated>
<entry>
<title>Add `rustc` option to output LLVM optimization remarks to YAML files</title>
<updated>2023-07-02T11:41:36+00:00</updated>
<author>
<name>Jakub Beránek</name>
<email>berykubik@gmail.com</email>
</author>
<published>2023-06-25T21:39:02+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=62728c7aaff0441b12057de8f1be620feb96652c'/>
<id>urn:sha1:62728c7aaff0441b12057de8f1be620feb96652c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Auto merge of #111626 - pjhades:output, r=b-naber</title>
<updated>2023-06-09T09:45:40+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2023-06-09T09:45:40+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=343ad6f0596fa3222f3168b74b3e8571066e77bb'/>
<id>urn:sha1:343ad6f0596fa3222f3168b74b3e8571066e77bb</id>
<content type='text'>
Write to stdout if `-` is given as output file

With this PR, if `-o -` or `--emit KIND=-` is provided, output will be written to stdout instead. Binary output (those of type `obj`, `llvm-bc`, `link` and `metadata`) being written this way will result in an error unless stdout is not a tty. Multiple output types going to stdout will trigger an error too, as they will all be mixded together.

This implements https://github.com/rust-lang/compiler-team/issues/431

The idea behind the changes is to introduce an `OutFileName` enum that represents the output - be it a real path or stdout - and to use this enum along the code paths that handle different output types.
</content>
</entry>
<entry>
<title>Write to stdout if `-` is given as output file</title>
<updated>2023-06-06T21:53:29+00:00</updated>
<author>
<name>Jing Peng</name>
<email>pj.hades@gmail.com</email>
</author>
<published>2023-02-26T20:27:27+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=9b1a1e1d95d1e40bdf57ef9d37ccbac91fc9c280'/>
<id>urn:sha1:9b1a1e1d95d1e40bdf57ef9d37ccbac91fc9c280</id>
<content type='text'>
If `-o -` or `--emit KIND=-` is provided, output will be written
to stdout instead. Binary output (`obj`, `llvm-bc`, `link` and
`metadata`) being written this way will result in an error unless
stdout is not a tty. Multiple output types going to stdout will
trigger an error too, as they will all be mixded together.
</content>
</entry>
<entry>
<title>Use `Cow` in `{D,Subd}iagnosticMessage`.</title>
<updated>2023-05-28T23:23:43+00:00</updated>
<author>
<name>Nicholas Nethercote</name>
<email>n.nethercote@gmail.com</email>
</author>
<published>2023-05-04T00:55:21+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=781111ef3591e4355c115593c4d75964b85555d6'/>
<id>urn:sha1:781111ef3591e4355c115593c4d75964b85555d6</id>
<content type='text'>
Each of `{D,Subd}iagnosticMessage::{Str,Eager}` has a comment:
```
// FIXME(davidtwco): can a `Cow&lt;'static, str&gt;` be used here?
```
This commit answers that question in the affirmative. It's not the most
compelling change ever, but it might be worth merging.

This requires changing the `impl&lt;'a&gt; From&lt;&amp;'a str&gt;` impls to `impl
From&lt;&amp;'static str&gt;`, which involves a bunch of knock-on changes that
require/result in call sites being a little more precise about exactly
what kind of string they use to create errors, and not just `&amp;str`. This
will result in fewer unnecessary allocations, though this will not have
any notable perf effects given that these are error paths.

Note that I was lazy within Clippy, using `to_string` in a few places to
preserve the existing string imprecision. I could have used `impl
Into&lt;{D,Subd}iagnosticMessage&gt;` in various places as is done in the
compiler, but that would have required changes to *many* call sites
(mostly changing `&amp;format("...")` to `format!("...")`) which didn't seem
worthwhile.
</content>
</entry>
<entry>
<title>Fix static string lints</title>
<updated>2023-04-25T17:59:55+00:00</updated>
<author>
<name>clubby789</name>
<email>jamie@hill-daniel.co.uk</email>
</author>
<published>2023-04-10T15:04:14+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=01385136353ac35f16d10bf5890bf0efc80df761'/>
<id>urn:sha1:01385136353ac35f16d10bf5890bf0efc80df761</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Spelling - compiler</title>
<updated>2023-04-17T20:09:18+00:00</updated>
<author>
<name>Josh Soref</name>
<email>2119212+jsoref@users.noreply.github.com</email>
</author>
<published>2023-04-09T21:35:02+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=e09d0d2a29e81972563a52dc28f867499ffc9315'/>
<id>urn:sha1:e09d0d2a29e81972563a52dc28f867499ffc9315</id>
<content type='text'>
* account
* achieved
* advising
* always
* ambiguous
* analysis
* annotations
* appropriate
* build
* candidates
* cascading
* category
* character
* clarification
* compound
* conceptually
* constituent
* consts
* convenience
* corresponds
* debruijn
* debug
* debugable
* debuggable
* deterministic
* discriminant
* display
* documentation
* doesn't
* ellipsis
* erroneous
* evaluability
* evaluate
* evaluation
* explicitly
* fallible
* fulfill
* getting
* has
* highlighting
* illustrative
* imported
* incompatible
* infringing
* initialized
* into
* intrinsic
* introduced
* javascript
* liveness
* metadata
* monomorphization
* nonexistent
* nontrivial
* obligation
* obligations
* offset
* opaque
* opportunities
* opt-in
* outlive
* overlapping
* paragraph
* parentheses
* poisson
* precisely
* predecessors
* predicates
* preexisting
* propagated
* really
* reentrant
* referent
* responsibility
* rustonomicon
* shortcircuit
* simplifiable
* simplifications
* specify
* stabilized
* structurally
* suggestibility
* translatable
* transmuting
* two
* unclosed
* uninhabited
* visibility
* volatile
* workaround

Signed-off-by: Josh Soref &lt;2119212+jsoref@users.noreply.github.com&gt;
</content>
</entry>
<entry>
<title>Fix typos in compiler</title>
<updated>2023-04-10T20:02:52+00:00</updated>
<author>
<name>DaniPopes</name>
<email>57450786+DaniPopes@users.noreply.github.com</email>
</author>
<published>2023-04-10T20:02:52+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=677357d32bd402ff1096803cb00b52124204af08'/>
<id>urn:sha1:677357d32bd402ff1096803cb00b52124204af08</id>
<content type='text'>
</content>
</entry>
<entry>
<title>errors: generate typed identifiers in each crate</title>
<updated>2023-02-22T09:15:53+00:00</updated>
<author>
<name>David Wood</name>
<email>david.wood@huawei.com</email>
</author>
<published>2022-10-13T09:13:02+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=d1fcf611175e695c35c6cc0537d710277c1a5c6f'/>
<id>urn:sha1:d1fcf611175e695c35c6cc0537d710277c1a5c6f</id>
<content type='text'>
Instead of loading the Fluent resources for every crate in
`rustc_error_messages`, each crate generates typed identifiers for its
own diagnostics and creates a static which are pulled together in the
`rustc_driver` crate and provided to the diagnostic emitter.

Signed-off-by: David Wood &lt;david.wood@huawei.com&gt;
</content>
</entry>
<entry>
<title>Rollup merge of #104543 - JhonnyBillM:migrate-codegen-ssa-to-diagnostics-structs-pt3, r=davidtwco</title>
<updated>2023-01-07T19:43:19+00:00</updated>
<author>
<name>Matthias Krüger</name>
<email>matthias.krueger@famsik.de</email>
</author>
<published>2023-01-07T19:43:19+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=771cfa5581fd245b0d45e839e791b10e01ebb8a7'/>
<id>urn:sha1:771cfa5581fd245b0d45e839e791b10e01ebb8a7</id>
<content type='text'>
Migrate `codegen_ssa` to diagnostics structs - [Part 3]

Completes migrating `codegen_ssa` module except 2 outstanding errors that depend on other crates:
1. [`rustc_middle::mir::interpret::InterpError`](https://github.com/rust-lang/rust/blob/b6097f2e1b2ca62e188ba53cf43bd66b06b36915/compiler/rustc_middle/src/mir/interpret/error.rs#L475): I saw `rustc_middle` is unassigned, I am open to take this work.

2.  `codegen_llvm`'s use of `fn span_invalid_monomorphization_error`, which I started to replace in the [last commit](https://github.com/rust-lang/rust/commit/9a31b3cdda78a2c0891828254fe9886e0a1cfd16) of this PR, but would like to know the team's preference on how we should keep replacing the other macros:
2.1. Update macros to expect a `Diagnostic`
2.2. Remove macros and expand the code on each use.
See [some examples of the different options in this experimental commit](https://github.com/JhonnyBillM/rust/commit/64aee83e80857dcfa450f0c6e31d5f29c6d577e6)

_Part 2 - https://github.com/rust-lang/rust/pull/103792_

r? ``@davidtwco``
Cc ``@compiler-errors``
</content>
</entry>
<entry>
<title>Don't translate --print native-static-libs output</title>
<updated>2022-12-28T17:56:31+00:00</updated>
<author>
<name>bjorn3</name>
<email>17426603+bjorn3@users.noreply.github.com</email>
</author>
<published>2022-12-28T17:24:10+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=0b54782cc8261f8e5d6e0b23785ca259a9eef6bf'/>
<id>urn:sha1:0b54782cc8261f8e5d6e0b23785ca259a9eef6bf</id>
<content type='text'>
This breaks tools that depend on the prefix
</content>
</entry>
</feed>
