Skip to content

fix strong mode LUB #25802

Closed
Closed
@jmesserly

Description

@jmesserly

I believe strong mode's LUB is not sound for function types (parameter types are computed via LUB).

Also we don't handle generic function types correctly:

    // The type we infer for `v` is currently `(Object) -> int`, which is wrong.
    final v = f() ? /*<T>*/(T t) => 0 : /*<T>*/(T t) => 1;
    bool f() => true;

Metadata

Metadata

Assignees

Labels

P1A high priority bug; for example, a single project is unusable or has many test failureslegacy-area-analyzerUse area-devexp instead.type-bugIncorrect behavior (everything from a crash to more subtle misbehavior)

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions