Skip to content

Disallow aspect implementation functions returning struct, disallow strings in providers of attr.label_list. #25836

@comius

Description

@comius

Motivation

Completely removing support for legacy struct providers

Description

Two loose ends after removing support for legacy struct providers:

  • disallow aspect implementation functions returning struct
  • disallow strings in providers of attr.label_list.

Incompatible Flag

The cleanup should be small enough not to require incompatible flag

Migration Guide

Use modern providers. Strings in providers of attr.label_list are no-op with modern providers.

In which Bazel LTS version will this incompatible change be enabled?

Bazel 9

Additional Context

No response

TODO List

  • Bazel: third_party/grpc/bazel/generate_cc.bzl:153
  • Grpc: grpc+/bazel/generate_cc.bzl:175
  • rules_apple+/apple/internal/rule_attrs.bzl:672
  • Grpc: grpc+/bazel/python_rules.bzl:112,:167,:246,:253
  • rules_python/python/private/attr_builders.bzl:88
  • aspect:intellij_info.bzl%intellij_info_aspect (returning struct providers)

Metadata

Metadata

Assignees

Labels

P2We'll consider working on this in future. (Assignee optional)incompatible-changeIncompatible/breaking changeteam-Rules-APIAPI for writing rules/aspects: providers, runfiles, actions, artifacts

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions