Comments (11)
It looks like this is an instance of #12
from chalk.
@mikeyhew Yes, this is somehow a known bug, because of implied bounds not being completely implemented at the moment.
from chalk.
@scalexm what do you mean by "implied bounds"?
from chalk.
I mean things like "if T
implements Sized
, then T
necessarily implements DynSized
". For these kinds of affirmation to be correct, we must add some requirements on impls (called well-formedness requirements). Currently, these requirements are too restrictive, hence your code is not being accepted. That shall be fixed in the future.
from chalk.
@scalexm the above code is accepted by chalk. I guess it just ignores it though?
from chalk.
@scalexm I tried out your implied-bounds branch, but didn't notice any changes with the above code :/
from chalk.
@mikeyhew Yes by "not accepted" I meant "gives a wrong answer", sorry :)
That's indeed because the remaining work is to be done in my implied-bounds branch (and that's also why the PR's still open).
from chalk.
@scalexm Oh, I see... I saw that @nikomatsakis was reviewing it, and assumed it was otherwise good to go 😄
from chalk.
I'm gonna close this, since it is a duplicate of #12
from chalk.
@mikeyhew PS: it works now
from chalk.
@scalexm Sweet!
trait DynSized {}
trait Sized where Self: DynSized {}
impl<T> DynSized for T where T: Sized {}
struct i32 {}
impl Sized for i32 {}
// ?- i32: DynSized
// Unique; substitution [], lifetime constraints []
from chalk.
Related Issues (20)
- CI Publish job using Mac runner HOT 2
- When Rust 1.55 hits stable, replace `ControlFlow` with std version
- Recursive solver reports ambiguity HOT 7
- Idea: rework how SLG solver uses the environment
- Auto traits are not handled for generic closures HOT 8
- Consider removing unused field
- Clean up coherence chapter in the Chalk book HOT 1
- Ambiguity through unrelated env clauses because of implied bounds HOT 1
- reconcile SLG/recursive solver's attempts to merge multiple results
- book: hard to read mermaid diagram in dark themes
- Lowered command panics with auto trait HOT 1
- Recursive solver hangs on cyclic traits HOT 3
- mdbook-mermaid needs updating
- Unable to deduce projection types of dyn types from supertrait bounds
- ICE: negative subgoal had delayed_subgoals HOT 2
- any progress and roadmap? HOT 1
- Automatic releases have been failing for a couple of months
- Branch protection prevents automatic releases from updating the version number on the `master` branch
- Recursive Solver fails to solve recursive associated type with GAT
- Fails to solve some existential clause HOT 2
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 chalk.