Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cleanup how we handle proto in types, remove unsound subtyping #3927

Conversation

nikomatsakis
Copy link
Contributor

Fixes #1896 which was never truly fixed, just masked.
The given tests would have failed had they used ~fn() and
not @fn(). They now result in compilation errors.

Fixes #2978.

Necessary first step for #2202, #2263.

r? @pcwalton

Fixes rust-lang#1896 which was never truly fixed, just masked.
The given tests would have failed had they used `~fn()` and
not `@fn()`.  They now result in compilation errors.

Fixes rust-lang#2978.

Necessary first step for rust-lang#2202, rust-lang#2263.
impl Proto : to_bytes::IterBytes {
pure fn iter_bytes(+lsb0: bool, f: to_bytes::Cb) {
(self as uint).iter_bytes(lsb0, f);
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Very soon this will be derivable and this code can go away… but that time is not now.

@pcwalton
Copy link
Contributor

pcwalton commented Nov 6, 2012

This looks generally OK; it's clearly not sound yet, but seems to be going in the right direction. r+ with nits and comments addressed.

@nikomatsakis
Copy link
Contributor Author

ok, corrected nits, except that I left the use of fatal because that code is in the parser and hence fatal implicitly uses the current span, which seems close enough for a transitional error that will go away soon enough.

RalfJung pushed a commit to RalfJung/rust that referenced this pull request Sep 29, 2024
let rustfmt format imports

This matches the recent change in rustc.

`@rust-lang/miri` what do you think?
@rust-log-analyzer
Copy link
Collaborator

The job mingw-check-tidy failed! Check out the build log: (web) (plain)

Click to see the possible cause of the failure (guessed by this bot)

COPY host-x86_64/mingw-check/validate-toolstate.sh /scripts/
COPY host-x86_64/mingw-check/validate-error-codes.sh /scripts/

# NOTE: intentionally uses python2 for x.py so we can test it still works.
# validate-toolstate only runs in our CI, so it's ok for it to only support python3.
ENV SCRIPT TIDY_PRINT_DIFF=1 python2.7 ../x.py test \
           --stage 0 src/tools/tidy tidyselftest --extra-checks=py:lint,cpp:fmt
# This file is autogenerated by pip-compile with Python 3.10
# by the following command:
#
#    pip-compile --allow-unsafe --generate-hashes reuse-requirements.in
---
#13 2.884 Building wheels for collected packages: reuse
#13 2.885   Building wheel for reuse (pyproject.toml): started
#13 3.127   Building wheel for reuse (pyproject.toml): finished with status 'done'
#13 3.128   Created wheel for reuse: filename=reuse-4.0.3-cp310-cp310-manylinux_2_35_x86_64.whl size=132715 sha256=dfa09868353292d98f811d3efdb0d54d07389e808efc71d68e3b93c514bf8bec
#13 3.128   Stored in directory: /tmp/pip-ephem-wheel-cache-3_vkt8qn/wheels/3d/8d/0a/e0fc6aba4494b28a967ab5eaf951c121d9c677958714e34532
#13 3.131 Installing collected packages: boolean-py, binaryornot, tomlkit, reuse, python-debian, markupsafe, license-expression, jinja2, chardet, attrs
#13 3.517 Successfully installed attrs-23.2.0 binaryornot-0.4.4 boolean-py-4.0 chardet-5.2.0 jinja2-3.1.4 license-expression-30.3.0 markupsafe-2.1.5 python-debian-0.1.49 reuse-4.0.3 tomlkit-0.13.0
#13 3.517 WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
#13 4.046 Collecting virtualenv
#13 4.046 Collecting virtualenv
#13 4.099   Downloading virtualenv-20.26.6-py3-none-any.whl (6.0 MB)
#13 4.302      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 6.0/6.0 MB 29.8 MB/s eta 0:00:00
#13 4.362 Collecting platformdirs<5,>=3.9.1
#13 4.368   Downloading platformdirs-4.3.6-py3-none-any.whl (18 kB)
#13 4.408 Collecting filelock<4,>=3.12.2
#13 4.435 Collecting distlib<1,>=0.3.7
#13 4.442   Downloading distlib-0.3.8-py2.py3-none-any.whl (468 kB)
#13 4.452      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 468.9/468.9 KB 58.0 MB/s eta 0:00:00
#13 4.452      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 468.9/468.9 KB 58.0 MB/s eta 0:00:00
#13 4.532 Installing collected packages: distlib, platformdirs, filelock, virtualenv
#13 4.718 Successfully installed distlib-0.3.8 filelock-3.16.1 platformdirs-4.3.6 virtualenv-20.26.6
#13 DONE 4.8s

#14 [7/8] COPY host-x86_64/mingw-check/validate-toolstate.sh /scripts/
#14 DONE 0.0s
---
DirectMap4k:      208832 kB
DirectMap2M:     9228288 kB
DirectMap1G:     9437184 kB
##[endgroup]
Executing TIDY_PRINT_DIFF=1 python2.7 ../x.py test            --stage 0 src/tools/tidy tidyselftest --extra-checks=py:lint,cpp:fmt
+ TIDY_PRINT_DIFF=1 python2.7 ../x.py test --stage 0 src/tools/tidy tidyselftest --extra-checks=py:lint,cpp:fmt
    Finished `dev` profile [unoptimized] target(s) in 0.04s
##[endgroup]
downloading https://static.rust-lang.org/dist/2024-09-22/rustfmt-nightly-x86_64-unknown-linux-gnu.tar.xz
extracting /checkout/obj/build/cache/2024-09-22/rustfmt-nightly-x86_64-unknown-linux-gnu.tar.xz to /checkout/obj/build/x86_64-unknown-linux-gnu/rustfmt

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants