mirror of
https://github.com/roc-lang/roc.git
synced 2025-09-13 07:16:18 +00:00
Fast-path for determining ability member impls for builtin opaques
This commit is contained in:
parent
297a571b34
commit
e6094df69b
8 changed files with 182 additions and 60 deletions
|
@ -5331,7 +5331,7 @@ pub fn with_hole<'a>(
|
|||
|
||||
let resolved_proc = match resolved_proc {
|
||||
Resolved::Specialization(symbol) => symbol,
|
||||
Resolved::NeedsGenerated(_) => {
|
||||
Resolved::Derive(_) => {
|
||||
todo_abilities!("Generate impls for structural types")
|
||||
}
|
||||
};
|
||||
|
@ -5813,14 +5813,7 @@ fn late_resolve_ability_specialization<'a>(
|
|||
|
||||
match specialization {
|
||||
Resolved::Specialization(symbol) => symbol,
|
||||
Resolved::NeedsGenerated(var) => {
|
||||
let derive_key = roc_derive_key::Derived::builtin(
|
||||
member.try_into().expect("derived symbols must be builtins"),
|
||||
env.subs,
|
||||
var,
|
||||
)
|
||||
.expect("specialization var not derivable!");
|
||||
|
||||
Resolved::Derive(derive_key) => {
|
||||
match derive_key {
|
||||
roc_derive_key::Derived::Immediate(imm)
|
||||
| roc_derive_key::Derived::SingleLambdaSetImmediate(imm) => {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue