Skip to content

await order breaks bind: #17090

@techniq

Description

@techniq

Describe the bug

If you use await in <script> before a binded $state variable, an error is thrown:

Cannot read properties of undefined (reading 'f')

For example, this works:

<script>
	import Input from './Input.svelte';

	let value = $state(0);
	let data = await fetch('...');
</script>

<Input bind:value />

but this throws an error:

<script>
	import Input from './Input.svelte';

	let data = await fetch('...');
	let value = $state(0);
</script>

<Input bind:value />

Reproduction

REPL

Logs

Error: Cannot read properties of undefined (reading 'f')

	in <unknown>
	in __wrapper.svelte

    at get (playground:output:3903:22)
    at get value (playground:output:4737:13)
    at eval (playground:output:4622:87)
    at capture_store_binding (playground:output:4572:12)
    at prop (playground:output:4622:36)
    at Input (playground:output:4711:3)
    at App.add_svelte_meta.componentTag (playground:output:4735:10)
    at add_svelte_meta (playground:output:568:11)
    at App (playground:output:4734:3)
    at add_svelte_meta.componentTag (playground:output:4770:27)

System Info

svelte@5.43.2

Severity

blocking an upgrade

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions