code: def test_lazy_hetero_linear(device):
      x = torch.randn(3, 16, device=device)
      type_vec = torch.tensor([0, 1, 2], device=device)
  
      lin = HeteroLinear(-1, 32, num_types=3).to(device)
      assert str(lin) == "HeteroLinear(-1, 32, num_types=3, bias=True)"
  
      out = lin(x, type_vec)
      assert out.size() == (3, 32)
  
imports: import copy
  import warnings
  from typing import List
  import pytest
  import torch
  from torch import Tensor
  from torch.nn import Linear
  from torch.nn.parameter import UninitializedParameter
  import torch_geometric.backend
  from torch_geometric.nn import HeteroDictLinear, HeteroLinear, Linear
  from torch_geometric.profile import benchmark
  from torch_geometric.testing import withCUDA, withPackage
  from torch_geometric.typing import pyg_lib
  from torch_geometric.utils import cumsum
label_desc: Use image node_id 10 for calling a global function with example usage: test_lazy_hetero_linear(device) without return types