Skip to content

Commit 64aaa5d

Browse files
committed
---
yaml --- r: 323533 b: refs/heads/tensorflow-next c: c2f4223 h: refs/heads/master i: 323531: 98b4728
1 parent d652d90 commit 64aaa5d

File tree

4 files changed

+24
-1
lines changed

4 files changed

+24
-1
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1461,4 +1461,4 @@ refs/heads/master-rebranch: 86e95c23aa0d37f24ec138b7853146c1cead2e40
14611461
refs/heads/rdar-53901732: 9bd06af3284e18a109cdbf9aa59d833b24eeca7b
14621462
refs/heads/revert-26776-subst-always-returns-a-type: 1b8e18fdd391903a348970a4c848995d4cdd789c
14631463
refs/heads/tensorflow-merge: 8b854f62f80d4476cb383d43c4aac2001dde3cec
1464-
refs/heads/tensorflow-next: 3e793a071d6c31269cd46867f4386fb94cf9992e
1464+
refs/heads/tensorflow-next: c2f4223e8b695e0428d171c88fcb6868830458f0

branches/tensorflow-next/include/swift/AST/DiagnosticsSema.def

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4463,6 +4463,8 @@ NOTE(property_wrapper_declared_here,none,
44634463

44644464
ERROR(property_wrapper_local,none,
44654465
"property wrappers are not yet supported on local properties", ())
4466+
ERROR(property_wrapper_top_level,none,
4467+
"property wrappers are not yet supported in top-level code", ())
44664468
ERROR(property_wrapper_let, none,
44674469
"property wrapper can only be applied to a 'var'",
44684470
())

branches/tensorflow-next/lib/Sema/TypeCheckPropertyWrapper.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -401,6 +401,12 @@ AttachedPropertyWrappersRequest::evaluate(Evaluator &evaluator,
401401
continue;
402402
}
403403

404+
// Nor does top-level code.
405+
if (var->getDeclContext()->isModuleScopeContext()) {
406+
ctx.Diags.diagnose(attr->getLocation(), diag::property_wrapper_top_level);
407+
continue;
408+
}
409+
404410
// Check that the variable is part of a single-variable pattern.
405411
auto binding = var->getParentPatternBinding();
406412
if (!binding || binding->getSingleVar() != var) {
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
// RUN: %target-swift-frontend -typecheck -primary-file %s -verify -module-name main
2+
3+
@propertyWrapper
4+
struct Wrapper<T> {
5+
var wrappedValue: T
6+
init(initialValue: T) {
7+
wrappedValue = initialValue
8+
}
9+
}
10+
11+
// expected-error@+1{{property wrappers are not yet supported in top-level code}}
12+
@Wrapper var value: Int = 17
13+
14+
func f() { }
15+
f()

0 commit comments

Comments
 (0)