Skip to content

Invalid instantiation of explicit size passing #2230

@athas

Description

@athas
-- ==
-- input { 1i64 2i64 } output { [0.0,0.0] }

def f (n: i64) (m: i64) (g: f64 -> [m ** n]f64) = g 0

entry main n m = f n m (\x -> replicate (m ** n) x)

This goes wrong when the monomorphiser tries to insert a concrete argument to represent the m**n size, which instead becomes a constant zero.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions