Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

[tensor-shapes] torch.lerp rejects tensor weights and omits their broadcast shape

Open Beginner friendly
#5,360 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 2 days

@mangeshraut712 is already working on this.

Since Oct 25, 2026.

  • #5371 by @mangeshraut712 — open

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
76/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Active
Tech stack
python, rust

Research direction

The issue points to tensor-shapes/pyrefly-torch-stubs/torch-stubs/__init__.pyi near line 3689. Read the torch.lerp signature and its shape expression, then run the provided repro.py with pyrefly check. Done means the Tensor weight is accepted and the inferred result shape includes its broadcast shape, so the example checks with shape (3, 2).

Written by the indexing model from the issue text.

Description

pytorch tensor-shapes
Describe the Bug

torch.lerp accepts a Tensor as its weight argument. The weight can also expand the result shape through broadcasting.

The shape stub only accepts float and computes the result shape from input and end.

Minimal reproduction

Save this code as repro.py. Create an empty pyrefly.toml next to it.

import torch

start = torch.zeros(2)
end = torch.ones(2)
weight = torch.full((3, 1), 0.5)
result = torch.lerp(start, end, weight)
assert result.shape == (3, 2)
assert torch.equal(result, torch.full((3, 2), 0.5))

Run:

python repro.py
pyrefly check repro.py

The runtime assertions pass and the process exits with code 0. The type check reports the errors below.

Expected behavior

Accept Tensor weights. Include the weight shape when computing the broadcast result. In this example, the result shape is (3, 2).

Actual behavior
repro.py:6:33: Argument `Tensor[[3, 1]]` is not assignable to parameter `weight` with type `float` in function `torch.lerp` [bad-argument-type]
Environment and current source
  • Python 3.13.13 on Linux.
  • Pyrefly 1.4.0.
  • pyrefly-torch-stubs==1.4.0.
  • PyTorch 2.13.0+cu126.

I also reproduced this with the stub sources from main at e5f077bcb2897dad3d168c45b9b64271fca94db6. The local Pyrefly binary reports pyrefly 1.4.0. I selected the checkout stub package directories with --site-packages-path. The diagnostics above use those current source files.

Current stub source. The current signature declares weight: float and returns Tensor[broadcast(Shape, OtherShape)]. The Tensor-weight case needs a third shape.

Dominant language
Rust
Stars
7.1k
Forks
564
PR merge metrics
No merged PRs in 30d

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from facebook/pyrefly

All issues in facebook/pyrefly

Similar issues

More Rust issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.