Internally these would treat the cast same as a normal conversion from int[7] to int[], which allows code at CTFE to erroneously succeed where it would raise a SEGV at run-time.
Showing 1 of 2 files from the diff.
Newly tracked file
src/dmd/dinterpret.d
changed.
Other files ignored by Codecov
test/fail_compilation/reg6769.d
is new.
@@ -1862,14 +1862,6 @@
Loading
1862 | 1862 | Type elemtype = (cast(TypeArray)val.type).next; |
|
1863 | 1863 | d_uns64 elemsize = elemtype.size(); |
|
1864 | 1864 | ||
1865 | - | // It's OK to cast from fixed length to dynamic array, eg &int[3] to int[]* |
|
1866 | - | if (val.type.ty == Tsarray && pointee.ty == Tarray && elemsize == pointee.nextOf().size()) |
|
1867 | - | { |
|
1868 | - | emplaceExp!(AddrExp)(pue, e.loc, val, e.type); |
|
1869 | - | result = pue.exp(); |
|
1870 | - | return; |
|
1871 | - | } |
|
1872 | - | ||
1873 | 1865 | // It's OK to cast from fixed length to fixed length array, eg &int[n] to int[d]*. |
|
1874 | 1866 | if (val.type.ty == Tsarray && pointee.ty == Tsarray && elemsize == pointee.nextOf().size()) |
|
1875 | 1867 | { |
Files | Coverage |
---|---|
src/dmd | 77.205% |
Project Totals (203 files) | 77.205% |
36758
1 |
# Documentation: https://docs.codecov.io/docs/codecov-yaml
|
2 |
# Validate with: `curl --data-binary @.codecov.yml https://codecov.io/validate`
|
3 |
|
4 |
codecov: |
5 |
notify: |
6 |
# We don't want to wait for the CodeCov report
|
7 |
# See https://github.com/codecov/support/issues/312
|
8 |
require_ci_to_pass: false |
9 |
after_n_builds: 1 # send notifications after the first upload |
10 |
wait_for_ci: false |
11 |
|
12 |
bot: dlang-bot |
13 |
ci: |
14 |
# https://docs.codecov.io/docs/detecting-ci-services
|
15 |
# Only CircleCi generates coverages files atm.
|
16 |
# Don't wait for the other CIs
|
17 |
- circleci.com |
18 |
- !dtest.dlang.io |
19 |
- !auto-tester.puremagic.com |
20 |
- !appveyor.com |
21 |
- !ci.dlang.io |
22 |
- !travis-ci.org |
23 |
|
24 |
# At CircleCi, the PR is merged into `master` before the testsuite is run.
|
25 |
# This allows CodeCov to adjust the resulting coverage diff, s.t. it matches
|
26 |
# with the GitHub diff.
|
27 |
# https://github.com/codecov/support/issues/363
|
28 |
# https://docs.codecov.io/v4.3.6/docs/comparing-commits
|
29 |
allow_coverage_offsets: true |
30 |
|
31 |
coverage: |
32 |
precision: 3 |
33 |
round: down |
34 |
range: "80...100" |
35 |
|
36 |
# Learn more at https://docs.codecov.io/docs/commit-status
|
37 |
status: |
38 |
project: off |
39 |
patch: |
40 |
default: |
41 |
informational: true |
42 |
changes: off |
43 |
|
44 |
# https://docs.codecov.io/docs/fixing-paths
|
45 |
fixes: |
46 |
- "test/.*/::src/" |
47 |
- "fail_compilation/::src/" |
48 |
|
49 |
comment: false |
Sunburst
The inner-most circle is the entire project, moving away from the center are folders then, finally, a single file.
The size and color of each slice is representing the number of statements and the coverage, respectively.
Icicle
The top section represents the entire project. Proceeding with folders and finally individual files.
The size and color of each slice is representing the number of statements and the coverage, respectively.