]> git.ipfire.org Git - thirdparty/gcc.git/commit
gccrs: Dynamic dispatch with supertraits
authorLiam Naddell <liam.naddell@mail.utoronto.ca>
Thu, 8 Aug 2024 09:31:58 +0000 (05:31 -0400)
committerArthur Cohen <arthur.cohen@embecosm.com>
Wed, 19 Mar 2025 14:32:10 +0000 (15:32 +0100)
commit8f4718f0b5900d1743563a5c4e8f3dcc6cec3468
treeae89f610480cf9c9dd6f62ebf51da7fcce45eb01
parentb81a65f3cd6a5152df4bf45fe31dd4f0fc66ab72
gccrs: Dynamic dispatch with supertraits

gcc/rust/ChangeLog:

* backend/rust-compile.cc:
Modify compute_address_for_trait_item to support supertraits
* typecheck/rust-tyty.cc:
Remove auto

gcc/testsuite/ChangeLog:

* rust/compile/trait13.rs:
Add test for supertraits of supertraits
* rust/compile/trait14.rs:
Diamond problem with supertraits test
* rust/execute/torture/trait14.rs:
Add test for dynamic dispatch with supertraits
* rust/execute/torture/trait15.rs:
Add test for dynamic dispatch with generics
* rust/execute/torture/trait16.rs:
Add test for dynamic dispatch with lifetime params 1
* rust/execute/torture/trait17.rs:
Add test for dynamic dispatch with lifetime params 2
* rust/execute/torture/trait18.rs:
Add test for default implementations with dynamic dispatch and
supertraits

Signed-off-by: Liam Naddell <liam.naddell@mail.utoronto.ca>
gcc/rust/backend/rust-compile.cc
gcc/rust/typecheck/rust-tyty.cc
gcc/testsuite/rust/compile/trait13.rs [new file with mode: 0644]
gcc/testsuite/rust/compile/trait14.rs [new file with mode: 0644]
gcc/testsuite/rust/execute/torture/trait14.rs [new file with mode: 0644]
gcc/testsuite/rust/execute/torture/trait15.rs [new file with mode: 0644]
gcc/testsuite/rust/execute/torture/trait16.rs [new file with mode: 0644]
gcc/testsuite/rust/execute/torture/trait17.rs [new file with mode: 0644]
gcc/testsuite/rust/execute/torture/trait18.rs [new file with mode: 0644]