Skip to content

Change the behavior of auto_config'ed functions when called normally. Previously, if ac=AutoConfig(func, buildable_func), then ac(*args, *kwargs) would return func(*args, **kwargs). This CL updates it to instead return fdl.build(buildable_func(*args, *kwargs)).#94

Open
copybara-service[bot] wants to merge 1 commit intomainfrom
test_466416396

Conversation

@copybara-service
Copy link
Copy Markdown

Change the behavior of auto_config'ed functions when called normally. Previously, if ac=AutoConfig(func, buildable_func), then ac(*args, *kwargs) would return func(*args, **kwargs). This CL updates it to instead return fdl.build(buildable_func(*args, *kwargs)).

This will help ensure that the two modes that an autoconfig function can be used with (call and as_buildable) have consistent behavior.

If you want the old behavior (for debugging), you can use a new context manager (with debug_auto_config:).

This CL also makes it possible to call fiddle tagging methods inside auto_config functions (e.g., fdl.add_tag and MyTag.new).

… Previously, if `ac=AutoConfig(func, buildable_func)`, then `ac(*args, *kwargs)` would return `func(*args, **kwargs)`. This CL updates it to instead return `fdl.build(buildable_func(*args, *kwargs))`.

This will help ensure that the two modes that an autoconfig function can be used with (__call__ and as_buildable) have consistent behavior.

If you want the old behavior (for debugging), you can use a new context manager (`with debug_auto_config:`).

This CL also makes it possible to call fiddle tagging methods inside auto_config functions (e.g., `fdl.add_tag` and `MyTag.new`).

PiperOrigin-RevId: 466416396
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant