1. 02 1月, 2022 1 次提交
  2. 02 10月, 2021 1 次提交
    • D
      polymorphize: remove predicate logic · da2b69b6
      David Wood 提交于
      This commit removes all logic which marks parameters as used based on
      their presence in predicates - given rust-lang/rust#75675, this will
      enable more polymorphization and avoid the symbol clashes that predicate
      logic previously sidestepped.
      Signed-off-by: NDavid Wood <david@davidtw.co>
      da2b69b6
  3. 16 9月, 2021 1 次提交
  4. 30 8月, 2021 2 次提交
  5. 06 3月, 2021 1 次提交
  6. 27 12月, 2020 1 次提交
  7. 17 10月, 2020 1 次提交
  8. 17 8月, 2020 1 次提交
  9. 15 8月, 2020 1 次提交
    • D
      polymorphize: `I` used if `T` used in `I: Foo<T>` · bf3ef267
      David Wood 提交于
      This commit adjusts polymorphization's handling of predicates so that
      after ensuring that `T` is used in `I: Foo<T>` if `I` is used, it now
      ensures that `I` is used if `T` is used in `I: Foo<T>`. This is
      necessary to mark generic parameters that only exist in impl parameters
      as used - thereby avoiding symbol clashes when using the new mangling
      scheme.
      Signed-off-by: NDavid Wood <david@davidtw.co>
      bf3ef267
  10. 10 8月, 2020 1 次提交
    • D
      polymorphize: constrain unevaluated const handling · 20f4e168
      David Wood 提交于
      This commit constrains the support added for handling unevaluated consts
      in polymorphization (introduced in #75260) by:
      
      - Skipping associated constants as this causes cycle errors.
      - Skipping promoted constants when they contain `Self` as this ensures
        `T` is used in constants of the form `<Self as Foo<T>>`.
      Signed-off-by: NDavid Wood <david@davidtw.co>
      20f4e168
  11. 08 8月, 2020 2 次提交
  12. 07 8月, 2020 1 次提交
    • D
      polymorphize: visit promoted MIR · 659d44a3
      David Wood 提交于
      This commit makes polymorphization visited the MIR of unevaluated
      constants with available promoted MIR instead of visiting the
      substitutions of that constant - which will mark all of the generic
      parameters as used.
      Signed-off-by: NDavid Wood <david@davidtw.co>
      659d44a3
  13. 31 7月, 2020 1 次提交
    • D
      interp: needs_subst -> ensure_monomorphic_enough · 59e621c1
      David Wood 提交于
      This commit adds a `ensure_monomorphic_enough` utility function which
      checks whether a type needs substitution, but only for parameters
      that the `unused_generic_params` query considers used.
      
      `ensure_monomorphic_enough` is then used throughout interpret where
      `needs_subst` checks previously existed (in particular, for some
      pointer casts and for reflection intrinsics more precise).
      Signed-off-by: NDavid Wood <david@davidtw.co>
      59e621c1
  14. 22 7月, 2020 2 次提交
  15. 21 7月, 2020 4 次提交