1. 09 3月, 2023 3 次提交
  2. 25 2月, 2023 1 次提交
  3. 06 2月, 2023 1 次提交
  4. 28 1月, 2023 3 次提交
  5. 17 1月, 2023 1 次提交
  6. 06 1月, 2023 1 次提交
    • N
      Fix `uninlined_format_args` for some compiler crates · fd7a1597
      nils 提交于
      Convert all the crates that have had their diagnostic migration
      completed (except save_analysis because that will be deleted soon and
      apfloat because of the licensing problem).
      fd7a1597
  7. 26 12月, 2022 1 次提交
  8. 19 12月, 2022 1 次提交
    • N
      A few small cleanups for `newtype_index` · 8bfd6450
      Nilstrieb 提交于
      Remove the `..` from the body, only a few invocations used it and it's
      inconsistent with rust syntax.
      
      Use `;` instead of `,` between consts. As the Rust syntax gods inteded.
      8bfd6450
  9. 11 12月, 2022 1 次提交
  10. 05 12月, 2022 1 次提交
  11. 01 12月, 2022 1 次提交
    • O
      Fill in `def_span` when creating def ids. · ab75d777
      Oli Scherer 提交于
      This makes sure that ICEing because of def ids created outside of ast lowering will be able to produce a query backtrace and not cause a double panic because of trying to call the  `def_span` query
      ab75d777
  12. 30 11月, 2022 3 次提交
  13. 27 11月, 2022 1 次提交
  14. 24 11月, 2022 1 次提交
  15. 06 11月, 2022 3 次提交
  16. 14 7月, 2022 1 次提交
  17. 08 7月, 2022 1 次提交
  18. 07 7月, 2022 3 次提交
  19. 06 7月, 2022 1 次提交
  20. 18 6月, 2022 1 次提交
  21. 08 6月, 2022 1 次提交
    • N
      Use delayed error handling for `Encodable` and `Encoder` infallible. · 1acbe757
      Nicholas Nethercote 提交于
      There are two impls of the `Encoder` trait: `opaque::Encoder` and
      `opaque::FileEncoder`. The former encodes into memory and is infallible, the
      latter writes to file and is fallible.
      
      Currently, standard `Result`/`?`/`unwrap` error handling is used, but this is a
      bit verbose and has non-trivial cost, which is annoying given how rare failures
      are (especially in the infallible `opaque::Encoder` case).
      
      This commit changes how `Encoder` fallibility is handled. All the `emit_*`
      methods are now infallible. `opaque::Encoder` requires no great changes for
      this. `opaque::FileEncoder` now implements a delayed error handling strategy.
      If a failure occurs, it records this via the `res` field, and all subsequent
      encoding operations are skipped if `res` indicates an error has occurred. Once
      encoding is complete, the new `finish` method is called, which returns a
      `Result`. In other words, there is now a single `Result`-producing method
      instead of many of them.
      
      This has very little effect on how any file errors are reported if
      `opaque::FileEncoder` has any failures.
      
      Much of this commit is boring mechanical changes, removing `Result` return
      values and `?` or `unwrap` from expressions. The more interesting parts are as
      follows.
      - serialize.rs: The `Encoder` trait gains an `Ok` associated type. The
        `into_inner` method is changed into `finish`, which returns
        `Result<Vec<u8>, !>`.
      - opaque.rs: The `FileEncoder` adopts the delayed error handling
        strategy. Its `Ok` type is a `usize`, returning the number of bytes
        written, replacing previous uses of `FileEncoder::position`.
      - Various methods that take an encoder now consume it, rather than being
        passed a mutable reference, e.g. `serialize_query_result_cache`.
      1acbe757
  22. 06 6月, 2022 1 次提交
  23. 21 3月, 2022 1 次提交
  24. 09 1月, 2022 1 次提交
  25. 24 12月, 2021 3 次提交
  26. 22 12月, 2021 1 次提交
    • A
      Add `#[rustc_clean(loaded_from_disk)]` to assert loading of query result · f1d68233
      Aaron Hill 提交于
      Currently, you can use `#[rustc_clean]` to assert to that a particular
      query (technically, a `DepNode`) is green or red. However, a green
      `DepNode` does not mean that the query result was actually deserialized
      from disk - we might have never re-run a query that needed the result.
      
      Some incremental tests are written as regression tests for ICEs that
      occured during query result decoding. Using
      `#[rustc_clean(loaded_from_disk="typeck")]`, you can now assert
      that the result of a particular query (e.g. `typeck`) was actually
      loaded from disk, in addition to being green.
      f1d68233
  27. 21 10月, 2021 2 次提交