Comments (3)
@EsotericPyramid you can actually call a function like Trait::func()
, the same way you can do <_ as Trait>::func()
. So the dyn
object stuff is a result of a bad recovery most likely.
Your second point is good though, thanks. The fact that Trait::assoc
can only refer to items of Trait
, to allow disambiguation in cases where super traits have associated items named the same make sense to me. However, as @workingjubilee said, confusing diagnostics are still bugs, and these diagnostics are very confusing.
from rust.
I don’t believe this actually a bug at all.
- That’s not how you call associated functions. The syntax for that is
Type::func()
notTrait::func()
. That’s why the compiler gives notes about making a dynamic trait object because that would give you an actual type for the correct syntax. If you could call associated functions with theTrait::func
syntax then it may be impossible for the compiler to pick an implementation as multiple implementations for different types could have identical signatures (not in this particular case) assoc
is not part of theSub
trait, it is required by it so<T as Sub>::assoc()
wouldn’t work but<T as Super>::assoc()
should. This is important as it allows bothSub
andSuper
to have an associated function with the same name.
from rust.
confusing diagnostics are still bugs.
from rust.
Related Issues (20)
- APITIT get treated as ordinary params in "not all trait impls implemented" error HOT 1
- `core::ptr::copy` unsafe precondition message is for `core::ptr::copy_nonoverlapping` instead
- Potential overflow in the calculation of complex trait bounds involving tuples HOT 1
- TAIT: type parameter `impl FnOnce()` is part of concrete type but not used in parameter list for the `impl Trait` type alias HOT 4
- Weird diagnostic for recursion in const fn HOT 1
- Struct update syntax doesn't reborrow mut references HOT 4
- panic during codegen/LLVM phase HOT 2
- ICE: `relating different kinds` HOT 3
- ICE: `Tried to make Ignore indirect` HOT 1
- Bad codegen using `u16::to/from_be_bytes` HOT 1
- `struct` documentation should include `Sized` in the listed auto trait implementations HOT 2
- Bootstrap is slow HOT 8
- UpperHex formatting might panic HOT 3
- Repeated spurious rustdoc test failure: rustdoc-gui/help-page HOT 2
- Panic when setting RUST_MIN_STACK incorrectly HOT 5
- Docs produce invalid type when using bounds in associated type position HOT 1
- `unnameable_types` should show where the type is reachable HOT 2
- MIR_borrow_checking and MIR_effect_checking are very slow HOT 2
- Bevy segfaults on some Windows systems after Rust 1.79 update HOT 24
- ICE with generic_const_exprs (and std::simd)
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from rust.