- 22 7月, 2020 2 次提交
-
-
由 David Wood 提交于
This commit disables polymorphisation to resolve regressions related to closures which inherit unused generic parameters and are then used in casts or reflection. Signed-off-by: NDavid Wood <david@davidtw.co>
-
由 David Wood 提交于
This commit changes the span and content of the "collection encountered polymorphic constant" bug in monomorphization collection to point to the use of the constant rather than the definition. Signed-off-by: NDavid Wood <david@davidtw.co>
-
- 21 7月, 2020 6 次提交
-
-
由 Eric Huss 提交于
-
由 David Wood 提交于
This commit introduces a `FiniteBitSet` type which replaces the manual bit manipulation which was being performed in polymorphization. Signed-off-by: NDavid Wood <david@davidtw.co>
-
由 David Wood 提交于
This commit replaces the `-Z polymorphize-errors` debugging flag with a `#[rustc_polymorphize_error]` attribute for use on functions. Signed-off-by: NDavid Wood <david@davidtw.co>
-
由 David Wood 提交于
This commit records the results of `unused_generic_params` in crate metadata, hopefully improving performance. Signed-off-by: NDavid Wood <david@davidtw.co>
-
由 David Wood 提交于
This commit normalizes function signatures for instances before substituting, a workaround for polymorphization considering parameters unused when they show up in the signature, but not the body (due to being normalized). Unfortunately, this causes test output to change with the parallel compiler only. Signed-off-by: NDavid Wood <david@davidtw.co>
-
由 David Wood 提交于
This commit implements the `unused_generic_params` query, an initial version of polymorphization which detects when an item does not use generic parameters and is being needlessly monomorphized as a result. Signed-off-by: NDavid Wood <david@davidtw.co>
-
- 20 7月, 2020 28 次提交
-
-
由 Jakub Adam Wieczorek 提交于
-
由 Pietro Albini 提交于
-
由 Pietro Albini 提交于
-
由 Ralf Jung 提交于
-
由 Guillaume Gomez 提交于
-
由 Mara Bos 提交于
Closes #66770.
-
由 Aleksey Kladov 提交于
-
由 Jethro Beekman 提交于
-
由 David Wood 提交于
This commit makes valid shim asserts more specific - checking for the specific types that are valid for a given type of shim - and removes asserts for types which require substitutions. Signed-off-by: NDavid Wood <david@davidtw.co>
-
由 David Wood 提交于
This commit adds type metadata for generic parameters (that arise from polymorphization). Generic parameter metadata is considered zero-sized and named after the generic parameter. Signed-off-by: NDavid Wood <david@davidtw.co>
-
由 David Wood 提交于
This commit skips generating debuginfo type metadata if substitutions are required by the type. This avoids ICEs that result from layouts of types with substitutions being computed. Signed-off-by: NDavid Wood <david@davidtw.co>
-
由 David Wood 提交于
This commit adds doc comments to the `param_at`, `region_param` and `const_param` methods on the `Generics` struct. Signed-off-by: NDavid Wood <david@davidtw.co>
-
由 David Wood 提交于
This commit modifies the `substitute_normalize_and_test_predicates` query, renaming it to `impossible_predicates` and only checking predicates which do not require substs. By making this change, polymorphization doesn't have to explicitly support vtables. Signed-off-by: NDavid Wood <david@davidtw.co>
-
由 David Wood 提交于
This commit modifies the `STILL_FURTHER_SPECIALIZABLE` flag so that the flag isn't set by the parent substs of closures or generators. Signed-off-by: NDavid Wood <david@davidtw.co>
-
由 David Wood 提交于
This commit renames `should_monomorphize_locally` to `should_codegen_locally` which better describes what the function determines once polymorphization is added. Signed-off-by: NDavid Wood <david@davidtw.co>
-
由 David Wood 提交于
This commit avoids a natural, free-range double substitution error by monomorphizing the projection element before getting the type. Signed-off-by: NDavid Wood <david@davidtw.co>
-
由 David Wood 提交于
This commit extends current well-formedness checking to apply to foreign function declarations, re-using the existing machinery for regular functions. In doing this, later parts of the compiler (such as the `improper_ctypes` lint) can rely on being operations not failing as a result of invalid code which would normally be caught earlier. Signed-off-by: NDavid Wood <david@davidtw.co>
-
由 pierwill 提交于
Co-authored-by: NGuillaume Gomez <guillaume1.gomez@gmail.com>
-
由 Alex Crichton 提交于
This should hopefully handle #74484 but in any case fixes compilation of the standard library without the `backtrace` feature. The need for this feature is somewhat unclear now because the `backtrace` crate should always compile (no more C code!) but we can handle that later if necessary.
-
由 Nicholas Baron 提交于
Clear up wording regarding the iterator and usage of `break`. Co-authored-by: NJosh Triplett <josh@joshtriplett.org>
-
由 Nicholas-Baron 提交于
-
由 Nicholas-Baron 提交于
-
由 Nicholas-Baron 提交于
-
由 Mark Rousskov 提交于
Previously unstable impls were skipped, which meant that any impl with an unstable method would get skipped.
-
由 Caleb Cartwright 提交于
-
由 Jake Goulding 提交于
With this, we can now use a target JSON file to build a cross-compiler: ``` x.py install --host ../aarch64-apple-darwin.json --target aarch64-apple-darwin ```
-
由 Gabriel Smith 提交于
-
由 Gabriel Smith 提交于
This has been put in place to patch over an ICE caused when we encounter a non-static lifetime in a const generic during borrow checking. This restriction may be relaxed in the future, but we need more discussion before then, and in the meantime we should still deal with this ICE. Fixes issue #60814
-
- 19 7月, 2020 4 次提交
-
-
由 Solomon Ucko 提交于
-
由 Tomasz Miąsko 提交于
-
由 Tomasz Miąsko 提交于
They are now unnecessary for projects written in Rust, since backtrace-rs used by the standard library has only Rust dependencies.
-
由 Ralf Jung 提交于
-