stdlib/private/StdlibCollectionUnittest/MinimalCollections.swift (85 lines): - line 710: // FIXME: swift-3-indexing-model: perform a range check properly. - line 723: // FIXME: swift-3-indexing-model: perform a range check properly. - line 885: // FIXME: swift-3-indexing-model: perform a range check properly. - line 898: // FIXME: swift-3-indexing-model: perform a range check properly. - line 1135: // FIXME: swift-3-indexing-model: perform a range check properly. - line 1148: // FIXME: swift-3-indexing-model: perform a range check properly. - line 1318: // FIXME: swift-3-indexing-model: perform a range check properly. - line 1331: // FIXME: swift-3-indexing-model: perform a range check properly. - line 1572: // FIXME: swift-3-indexing-model: perform a range check and use - line 1579: // FIXME: swift-3-indexing-model: perform a range check properly. - line 1590: // FIXME: swift-3-indexing-model: perform a range check properly. - line 1748: // FIXME: swift-3-indexing-model: perform a range check and use - line 1755: // FIXME: swift-3-indexing-model: perform a range check properly. - line 1766: // FIXME: swift-3-indexing-model: perform a range check properly. - line 1999: // FIXME: swift-3-indexing-model: perform a range check and use - line 2006: // FIXME: swift-3-indexing-model: perform a range check properly. - line 2017: // FIXME: swift-3-indexing-model: perform a range check properly. - line 2183: // FIXME: swift-3-indexing-model: perform a range check and use - line 2190: // FIXME: swift-3-indexing-model: perform a range check properly. - line 2201: // FIXME: swift-3-indexing-model: perform a range check properly. - line 2392: // FIXME: this shouldn't be necessary, should come by default - line 2444: // FIXME: swift-3-indexing-model: perform a range check and use - line 2451: // FIXME: swift-3-indexing-model: perform a range check properly. - line 2462: // FIXME: swift-3-indexing-model: perform a range check properly. - line 2608: // FIXME: swift-3-indexing-model: perform a range check and use - line 2615: // FIXME: swift-3-indexing-model: perform a range check properly. - line 2626: // FIXME: swift-3-indexing-model: perform a range check properly. - line 2734: // FIXME: this shouldn't be necessary, should come by default - line 2786: // FIXME: swift-3-indexing-model: perform a range check and use - line 2793: // FIXME: swift-3-indexing-model: perform a range check properly. - line 2804: // FIXME: swift-3-indexing-model: perform a range check properly. - line 3051: // FIXME: swift-3-indexing-model: perform a range check and use - line 3058: // FIXME: swift-3-indexing-model: perform a range check properly. - line 3069: // FIXME: swift-3-indexing-model: perform a range check properly. - line 3252: // FIXME: this shouldn't be necessary, should come by default - line 3304: // FIXME: swift-3-indexing-model: perform a range check and use - line 3311: // FIXME: swift-3-indexing-model: perform a range check properly. - line 3322: // FIXME: swift-3-indexing-model: perform a range check properly. - line 3438: // FIXME: this shouldn't be necessary, should come by default - line 3490: // FIXME: swift-3-indexing-model: perform a range check and use - line 3497: // FIXME: swift-3-indexing-model: perform a range check properly. - line 3508: // FIXME: swift-3-indexing-model: perform a range check properly. - line 3732: // FIXME: swift-3-indexing-model: use defaults. - line 3737: // FIXME: swift-3-indexing-model: range check. - line 3745: FIXME: swift-3-indexing-model: uncomment this. - line 3903: // FIXME: swift-3-indexing-model: use defaults. - line 3908: // FIXME: swift-3-indexing-model: range check. - line 3926: FIXME: swift-3-indexing-model: uncomment this. - line 4087: // FIXME: swift-3-indexing-model: use defaults. - line 4092: // FIXME: swift-3-indexing-model: range check. - line 4103: FIXME: swift-3-indexing-model: uncomment this. - line 4264: // FIXME: swift-3-indexing-model: use defaults. - line 4269: // FIXME: swift-3-indexing-model: range check. - line 4290: FIXME: swift-3-indexing-model: uncomment this. - line 4454: // FIXME: swift-3-indexing-model: use defaults. - line 4459: // FIXME: swift-3-indexing-model: range check. - line 4467: FIXME: swift-3-indexing-model: uncomment this. - line 4631: // FIXME: swift-3-indexing-model: use defaults. - line 4636: // FIXME: swift-3-indexing-model: range check. - line 4654: FIXME: swift-3-indexing-model: uncomment this. - line 4821: // FIXME: swift-3-indexing-model: use defaults. - line 4826: // FIXME: swift-3-indexing-model: range check. - line 4837: FIXME: swift-3-indexing-model: uncomment this. - line 5004: // FIXME: swift-3-indexing-model: use defaults. - line 5009: // FIXME: swift-3-indexing-model: range check. - line 5030: FIXME: swift-3-indexing-model: uncomment this. - line 5123: // FIXME: this shouldn't be necessary, should come by default - line 5204: // FIXME: swift-3-indexing-model: use defaults. - line 5209: // FIXME: swift-3-indexing-model: range check. - line 5217: FIXME: swift-3-indexing-model: uncomment this. - line 5366: // FIXME: swift-3-indexing-model: use defaults. - line 5371: // FIXME: swift-3-indexing-model: range check. - line 5379: FIXME: swift-3-indexing-model: uncomment this. - line 5472: // FIXME: this shouldn't be necessary, should come by default - line 5553: // FIXME: swift-3-indexing-model: use defaults. - line 5558: // FIXME: swift-3-indexing-model: range check. - line 5576: FIXME: swift-3-indexing-model: uncomment this. - line 5669: // FIXME: this shouldn't be necessary, should come by default - line 5753: // FIXME: swift-3-indexing-model: use defaults. - line 5758: // FIXME: swift-3-indexing-model: range check. - line 5769: FIXME: swift-3-indexing-model: uncomment this. - line 5862: // FIXME: this shouldn't be necessary, should come by default - line 5946: // FIXME: swift-3-indexing-model: use defaults. - line 5951: // FIXME: swift-3-indexing-model: range check. - line 5972: FIXME: swift-3-indexing-model: uncomment this. lib/ClangImporter/ImportDecl.cpp (69 lines): - line 506: // FIXME: Verify ExtInfo state is correct, not working by accident. - line 589: // FIXME: Verify ExtInfo state is correct, not working by accident. - line 955: // FIXME: Verify ExtInfo state is correct, not working by accident. - line 1002: // FIXME: Verify ExtInfo state is correct, not working by accident. - line 1023: // FIXME: Verify ExtInfo state is correct, not working by accident. - line 1298: // FIXME: Verify ExtInfo state is correct, not working by accident. - line 1427: // TODO create value constructor with indirect fields instead of the - line 1588: // FIXME: get the parameter from the init, and plug it in here. - line 1739: // FIXME: Should we record thunks? - line 1846: // FIXME: We could produce the greatest common supertype of the - line 2042: // FIXME: This check is only necessary to keep things working even without - line 2475: // TODO: we only have this for the sid effect of calling - line 2569: // TODO: some versions should be deprecated instead of unavailable - line 2598: // FIXME: it would be better to have a unified place - line 3345: // FIXME: Skip Microsoft __interfaces. - line 3349: // FIXME: Figure out how to deal with incomplete types, since that - line 3365: // FIXME: We should actually support strong ARC references and similar in - line 3374: // FIXME: It would be nice to instead import the declaration but mark - line 3423: // FIXME: Figure out what to do with superclasses in C++. One possible - line 3432: // FIXME: Import anonymous union fields and support field access when - line 3457: // TODO: If we had the notion of a closed enum with no private - line 3482: // TODO: we have a problem lazily looking up unnamed members, so we - line 3540: // TODO: we have a problem lazily looking up members of an unnamed - line 3697: // TODO: this could be configurable at some point. - line 3804: // FIXME: This is gross. We shouldn't have to import - line 3867: // TODO: is there any way we could bail here before we allocate/construct - line 4042: // FIXME: source location... - line 4049: // FIXME: source location... - line 4154: // FIXME: Poor location info. - line 4229: // FIXME: only if the class itself is not marked final - line 4278: // FIXME: We should import this as a variant, but to do that, we'll also - line 4292: // TODO: do we want to emit a diagnostic here? - line 4334: // FIXME: Handle IBOutletCollection. - line 4338: // FIXME: Temporarily unreachable because of check above. - line 4374: // TODO: add non-numeric types. - line 4780: // FIXME: Fake locations for '{' and '}'? - line 4818: // FIXME: Should also be able to do this for forced class - line 4893: // FIXME: We should support returning "Self.Type" for a root class - line 4970: // FIXME: Should also be able to do this for forced class - line 5065: // FIXME: Is there an IBSegueAction equivalent? - line 5194: /// FIXME: This whole thing is a hack, because name lookup should really - line 5416: // FIXME: Figure out how to deal with incomplete protocols, since that - line 5830: // FIXME: Fake locations for '{' and '}'? - line 5845: // FIXME: Handle IBOutletCollection. - line 6033: // TODO: use NSObject if it exists? - line 6047: // TODO: maybe use NSObject as the superclass if we can find it? - line 6048: // TODO: try to find a non-mutable type to use as the superclass. - line 6202: // TODO: import as enum instead - line 6367: // FIXME: This eliminates spurious errors, but affects QoI. - line 6525: // TODO: Should this be an error? How can this come up? - line 6530: // FIXME: clang source location - line 6903: // FIXME: But if one of them is now deprecated, should we prefer the - line 7246: // FIXME: Eventually, deal with multiple overrides. - line 7438: // FIXME: Rectify these the same way we do for element types. - line 7445: // FIXME: This feels very, very wrong. - line 7651: // when imported. TODO: Use a more obvious check here. - line 7980: // FIXME: We should still mirror the setter as a method if it's - line 8009: // FIXME: We should mirror properties of the root class onto the - line 8448: // FIXME: Once UIKit removes the "nonswift" availability in their versioned - line 8537: // FIXME: Hard-code @MainActor and @UIActor, because we don't have a - line 8734: // FIXME: Until Apple gets a chance to update UIKit's API notes, ignore - line 8847: // TODO: Teach Swift how to directly call these functions. - line 9103: // FIXME: (transitional) increment the redundant "always-on" counter. - line 9119: // FIXME: This should not happen? - line 9486: // FIXME: Resolve through name lookup. This is brittle. - line 9910: // FIXME: constructors are added eagerly, but shouldn't be - line 9911: // FIXME: subscripts are added eagerly, but shouldn't be - line 10173: // FIXME: This is supposed to be a short-term hack. - line 10184: // FIXME: Build a superclass conformance if the superclass validation-test/Evolution/Inputs/keypaths_gyb.py (53 lines): - line 286: # TODO: Turning computed gets into lets without annotation drops method - line 288: # TODO # ( - line 289: # TODO # "computedGetOnlyToLet", - line 290: # TODO # "stored", - line 291: # TODO # """ - line 292: # TODO # public var {name}: Int {{ - line 293: # TODO # return 0 - line 294: # TODO # }} - line 295: # TODO # """, - line 296: # TODO # """ - line 297: # TODO # public let {name}: Int = 0 - line 298: # TODO # """, - line 299: # TODO # DoesntAddAPI, - line 300: # TODO # ), - line 301: # TODO # ( - line 302: # TODO # "computedPrivateSetToLet", - line 303: # TODO # "stored", - line 304: # TODO # """ - line 305: # TODO # public private(set) var {name}: Int {{ - line 306: # TODO # get {{ return 0 }} - line 307: # TODO # set {{ self.sink = newValue }} - line 308: # TODO # }} - line 309: # TODO # """, - line 310: # TODO # """ - line 311: # TODO # public let {name}: Int = 0 - line 312: # TODO # """, - line 313: # TODO # DoesntAddAPI, - line 314: # TODO # ), - line 315: # TODO # ( - line 316: # TODO # "computedPrivateNonmutatingSetToLet", - line 317: # TODO # "stored", - line 318: # TODO # """ - line 319: # TODO # public private(set) var {name}: Int {{ - line 320: # TODO # get {{ return 0 }} - line 321: # TODO # {nonmutating} set {{ globalSink = newValue }} - line 322: # TODO # }} - line 323: # TODO # """, - line 324: # TODO # """ - line 325: # TODO # public let {name}: Int = 0 - line 326: # TODO # """, - line 327: # TODO # DoesntAddAPI, - line 328: # TODO # ), - line 329: # TODO # ( - line 330: # TODO # "storedPrivateSetToLet", - line 331: # TODO # "stored", - line 332: # TODO # """ - line 333: # TODO # public private(set) var {name}: Int = 0 - line 334: # TODO # """, - line 335: # TODO # """ - line 336: # TODO # public let {name}: Int = 0 - line 337: # TODO # """, - line 338: # TODO # DoesntAddAPI, - line 339: # TODO # ), lib/IDE/CodeCompletion.cpp (50 lines): - line 673: // FIXME: macros - line 674: // FIXME: imported header module - line 835: // FIXME: Is there a better way? - line 1315: // FIXME: We should generate the message lazily. - line 1549: // FIXME: if it's ErrorType but we've already typechecked we shouldn't - line 1561: // FIXME: even though we don't apply the solution, the type checker may - line 2308: // FIXME: KeyPath !?!? - line 2394: // FIXME: This retains previous behavior, but in reality the type of dynamic - line 2415: /// FIXME: Perhaps this should be an option in PrintOptions instead. - line 2441: // FIXME: Code completion should only deal with one or the other, - line 2489: // FIXME: Handle nested keypath member lookup. - line 2524: // FIXME: Handle the case where the KeyPath result is generic. - line 2567: // FIXME: Sometimes ExprType is the type of the member here, - line 2624: // TODO: implicitlyThrowing here for distributed - line 2630: // TODO: 'NotRecommended' if this is a r-value reference. - line 2879: // FIXME: SemanticContextKind::Local is not correct. - line 2933: // FIXME: to get the corect semantic context we need to know how lookup - line 2942: // FIXME: We should distinguish CurrentNominal and Super. We need to - line 3052: // FIXME: Hack because we don't know we are calling instance - line 4014: // FIXME: consider types convertible to T?. - line 4017: // FIXME: We don't always pass down whether a type is from an - line 4140: // FIXME: we can't use the exclamation mark chunk kind, or it isn't - line 4148: // FIXME: we should get the semantic context of the function, not the - line 4156: // FIXME: handle variable amounts of space. - line 4173: // TODO: Use referencedDecl (FuncDecl) instead of 'op' (OperatorDecl). - line 4198: // FIXME: we should get the semantic context of the function, not the - line 4252: // TODO: Use referencedDecl (FuncDecl) instead of 'op' (OperatorDecl). - line 4283: // FIXME: this always chooses the first operator with the given name. - line 4291: // FIXME: where should these get completed? - line 4312: // FIXME: unify this with the ?.member completions. - line 4435: // FIXME: the pedantically correct way is to resolve Swift.*LiteralType. - line 4583: // FIXME: this does not include types that conform to an expected protocol. - line 4584: // FIXME: this creates duplicate results. - line 4598: // FIXME: this is an awful simplification that says all and only enums can - line 4717: // FIXME: SemanticContextKind::Local is not correct. - line 4824: // FIXME: also include user-defined attribute keywords - line 5545: // FIXME: Also exclude the type alias that has already been specified. - line 5954: // TODO: use a different completion kind when completing without an index - line 6169: // FIXME: This should use canUseAttributeOnDecl. - line 6309: // TODO: Omit already declared or mutally exclusive accessors. - line 6467: // FIXME: These directives are only valid in conditional completion block. - line 6484: // FIXME: SemanticContextKind::CurrentModule is not correct. - line 6531: // TODO: Should we filter out some flags? - line 6534: // FIXME: SemanticContextKind::CurrentModule is not correct. - line 6672: // FIXME: actually check imports. - line 6902: // FIXME: Remove this once all expression position completions are migrated - line 7355: // TODO: handle multi-value yields. - line 7377: // FIXME: Add pound expressions (e.g. '#selector()') if it's at statements - line 7584: // FIXME: only the private imports from the current source file. - line 7585: // FIXME: ImportFilterKind::ShadowedByCrossImportOverlay? lib/ClangImporter/ClangImporter.cpp (46 lines): - line 543: // TODO: Investigate whether 7.0 is a suitable default version. - line 674: // FIXME: Emit a warning of some kind. - line 849: // FIXME: The following attempts to do an initial ReadAST invocation to verify - line 1039: // FIXME: clang fails to generate a module if there is a `-fmodule-map-file` - line 1169: // FIXME: This is actually a general problem: any "fatal" error could mess up - line 1192: // FIXME: This has to be cleaned up on the Clang side before we can improve - line 1204: // FIXME: We shouldn't need to do this, the target should be immutable once - line 1249: // FIXME: These decls are not being parsed correctly since (a) some of the - line 1264: // FIXME: This is missing implicit includes. - line 1475: // FIXME: What do we do if there was already an error? - line 2003: // FIXME: Specialize the error for a missing submodule? - line 2040: // FIXME: This forces the creation of wrapper modules for all imports as - line 2364: // FIXME: Handle hierarchical names better. - line 2412: // FIXME: Implement! - line 2418: // FIXME: Implement! - line 2424: // FIXME: Implement! - line 2432: // FIXME: When we start dealing with C++, we can map over some operator - line 2682: // FIXME: We're also not checking if the redeclaration is in /this/ module. - line 2972: // FIXME: Module imports inside that header. - line 3090: // FIXME: Ignore submodules, which are empty for now. - line 3094: // FIXME: Respect the access path. - line 3127: // FIXME: should submodules still be crawled for the symbol graph? (SR-15753) - line 3168: // FIXME: Since we don't represent Clang submodules as Swift - line 3258: // FIXME: Ignore submodules, which are empty for now. - line 3338: // FIXME: This is very similar to what's in Implementation::lookupValue and - line 3415: // FIXME: If we already looked at this for this generation, - line 3472: // FIXME: We shouldn't need to do this. - line 3481: // FIXME: Ignore submodules, which are empty for now. - line 3496: // FIXME: Ignore submodules, which are empty for now. - line 3510: // FIXME: Ignore submodules, which are empty for now. - line 3667: // TODO: Obtain a clang::SourceLocation from the swift::SourceLoc we have - line 3755: // FIXME: Is this correct for submodules? - line 3762: // FIXME: Include proper source location. - line 3769: // FIXME: This is the awful legacy of the old implementation of overlay - line 3827: // FIXME: The parent module isn't exactly a private import, but it is - line 4153: // FIXME: If we didn't need to check alternate decls here, we could avoid - line 4251: // TODO: we could make this faster if we can cache class templates in the - line 4417: // FIXME: If getOverriddenDecl() kicked off a request for imported decls, - line 4423: // TODO: update this to use the requestified lookup. - line 4556: // FIXME: Filter based on access path? C++ access control? - line 4561: /// FIXME: Other type declarations should also be okay? - line 4575: // FIXME: This loop is duplicated from above, but doesn't obviously factor - line 4578: // FIXME: Filter based on access path? C++ access control? - line 4583: /// FIXME: Other type declarations should also be okay? - line 4681: // TODO: Use the location of the apply here. - line 4682: // TODO: This error message should not reference implementation details. lib/Sema/CSApply.cpp (39 lines): - line 102: // FIXME: Retrieve the conformance from the solution itself. - line 453: // TODO: If we added special properties matching KVC operators like '@sum', - line 468: // TODO: There are some subscript forms we could map to KVC, such as - line 714: // FIXME: This is awful. We should be able to handle this as a call to - line 871: // FIXME: really it would be much better if Sema had stricter phase - line 892: // FIXME: Walking over the ExprStack to figure out the number of argument - line 1011: // FIXME: Implement missing tuple-to-tuple conversion - line 1043: // FIXME: We should finish plumbing this through for dynamic - line 1067: // FIXME: Representational gunk because "T(...)" is really - line 1169: // FIXME: Verify ExtInfo state is correct, not working by accident. - line 1182: // FIXME: Verify ExtInfo state is correct, not working by accident. - line 1280: // FIXME: Verify ExtInfo state is correct, not working by accident. - line 1286: // FIXME: There's more work to do. - line 1541: // FIXME: FunctionRefKind - line 1763: // FIXME: Once CovariantReturnConversionExpr (unchecked_ref_cast) - line 1792: // FIXME: Provide type annotation. - line 2101: // TODO: diagnose if semantics != AccessSemantics::Ordinary? - line 2484: // TODO: It seems that callers expect this to have types assigned... - line 2969: // FIXME: We should have generated an overload set from this, in which - line 3015: // FIXME: This location info is bogus. - line 3203: // FIXME: We're dropping side effects in the base here! - line 3886: // FIXME: some of this work needs to be delayed until runtime to - line 4237: // FIXME: This literal diagnostics needs to be revisited by a proposal - line 4901: // FIXME: Verify ExtInfo state is correct, not working by accident. - line 4920: // FIXME: Verify ExtInfo state is correct, not working by accident. - line 6100: // TODO: Look through static method applications to the type. - line 6103: // TODO: We could allow static (or class final) functions too by - line 6193: // FIXME: finish{Array,Dictionary}Expr invoke cacheExprTypes after forming - line 6221: // FIXME: finish{Array,Dictionary}Expr invoke cacheExprTypes after forming - line 6250: // FIXME: finish{Array,Dictionary}Expr invoke cacheExprTypes after forming - line 6275: // FIXME: finish{Array,Dictionary}Expr invoke cacheExprTypes after forming - line 6373: // FIXME: Ideally we would instead have already recorded a restriction - line 6761: // FIXME: Can we rig things up so that we always have a Superclass - line 6807: // TODO: Ban `Normal` and `Forward` cases. - line 6832: // TODO: Ban `Normal` and `Forward` cases. - line 7593: // FIXME: It would be nicer if we could build the ASTs properly in the - line 7665: // FIXME: Handle unwrapping everywhere else. - line 8541: // TODO: test/DebugInfo/iteration.swift requires this extra info to - line 8719: // FIXME: Feels like we could leverage existing code more. lib/Serialization/ModuleFileSharedCore.cpp (37 lines): - line 50: // FIXME this drops the error on the floor. - line 74: // FIXME this drops the error on the floor. - line 92: // FIXME this drops the error on the floor. - line 116: // FIXME this drops the error on the floor. - line 185: // FIXME this drops the error on the floor. - line 202: // FIXME this drops the error on the floor. - line 227: // FIXME this drops the error on the floor. - line 364: // FIXME this drops the error on the floor. - line 380: // FIXME this drops the error on the floor. - line 454: // FIXME this drops the error on the floor. - line 465: // FIXME this drops the error on the floor. - line 481: // FIXME this drops the error on the floor. - line 660: // FIXME this drops the error on the floor. - line 671: // FIXME this drops the error on the floor. - line 688: // FIXME this drops the error on the floor. - line 700: // FIXME this drops the error on the floor. - line 719: // FIXME this drops the error on the floor. - line 854: // FIXME this drops the error on the floor. - line 865: // FIXME this drops the error on the floor. - line 888: // FIXME this drops the error on the floor. - line 964: // FIXME this drops the error on the floor. - line 975: // FIXME this drops the error on the floor. - line 1232: // FIXME this drops the error diagnostic on the floor. - line 1244: // FIXME this drops the error on the floor. - line 1288: // FIXME this drops the error on the floor. - line 1296: // FIXME this drops the error on the floor. - line 1308: // FIXME this drops the error on the floor. - line 1390: // FIXME: Should we warn about this? - line 1396: // FIXME this drops the error on the floor. - line 1421: // FIXME this drops the error on the floor. - line 1429: // FIXME this drops the error on the floor. - line 1452: // FIXME this drops the error on the floor. - line 1461: // FIXME this drops the error on the floor. - line 1473: // FIXME this drops the error on the floor. - line 1493: // FIXME this drops the error on the floor. - line 1521: // FIXME this drops the error on the floor. - line 1539: // FIXME this drops the error on the floor. lib/Sema/CSSimplify.cpp (35 lines): - line 414: // FIXME: We can provide better diagnostics here. - line 607: // FIXME: There is undoubtedly a good dynamic-programming algorithm - line 702: // FIXME: If we had the actual parameters and knew the body names, those - line 1662: // FIXME: This is a bit of a hack. We should consider rewriting curried - line 1716: // FIXME: Remove varargs logic below once we're no longer comparing - line 2111: // FIXME: We ought not to have the is() condition here, but - line 2734: // FIXME: We should not end up with labels here at all, but we do - line 2753: // FIXME: We should check value ownership too, but it's not completely - line 3029: // FIXME: Feels like a hack. - line 3579: // FIXME: Also allow types bridged through Objective-C classes. - line 3643: // FIXME: Should we also try '?'? - line 4579: // FIXME: There is currently no easy way to avoid attempting - line 5627: // FIXME: All cases in this switch should go down to the fix logic - line 5763: // FIXME: Deep equality? What is the rule between two DynamicSelfs? - line 6085: // FIXME: If the base is still a type variable, we can't tell - line 7741: // FIXME: partial application of properties - line 8078: // FIXME: Unify with the above code path. - line 8242: // FIXME: Historically, UnresolvedMemberExprs have allowed implicit - line 8281: // FIXME: Type variables responsible for contextual base could be cached - line 8335: // FIXME: The "hasClangNode" check here is a complete hack. - line 8919: // FIXME: Look in the constraint system to see if we've resolved the - line 9230: // FIXME: typealias pointing to an existential type is special - line 9532: increaseScore(SK_UserConversion); // FIXME: Use separate score kind? - line 9565: // FIXME: Once we get a new language version, change this condition to only - line 9667: // FIXME: This should be an associated type of the protocol. - line 10081: // FIXME: Allow the type to be upcast if the type system has a concrete - line 10571: // FIXME: Perhaps ApplyFunction can go away entirely? - line 10601: // TODO: Revisit this if `static func callAsFunction` is to be supported. - line 10883: // TODO: Refactor/simplify this function. - line 11355: // TODO: Handle different encodings based on pointer element type, such as - line 11446: auto subMatchKind = matchKind; // TODO: Restrict this? - line 11492: increaseScore(SK_UserConversion); // FIXME: Use separate score kind? - line 11517: increaseScore(SK_UserConversion); // FIXME: Use separate score kind? - line 11532: increaseScore(SK_UserConversion); // FIXME: Use separate score kind? - line 12000: // FIXME: The unresolved case should form an unsolved constraint rather lib/AST/GenericSignatureBuilder.cpp (33 lines): - line 1073: // FIXME: Ad hoc detection of recursive same-type constraints. - line 1459: // FIXME: We should have a better notion of when to emit diagnostics - line 1504: // FIXME: Arbitrary hack to allow later requirement sources to stomp on - line 1517: // FIXME: Implement for real, so we actually dump the structure. - line 1816: // FIXME: isRecursive() is completely misnamed - line 2053: // FIXME: Shouldn't we always look here? - line 2308: // FIXME: We need to handle conditional conformances earlier, in the same place - line 2581: return; // FIXME: should we delay here? - line 3022: // FIXME: A destructive version of this operation would be more efficient, - line 3454: // FIXME: When lookupConformance() starts respecting modules, we'll need - line 3635: // FIXME: Instead of falling through, we ought to return a concrete - line 3681: // FIXME: Generic typealiases contradict the assumption above. - line 4296: // FIXME: Check whether the layout constraint makes sense for this - line 4354: // TODO: In principle, this could be isBindableToSuperclassOf instead of - line 4478: // FIXME: diagnose if there's no conformance. - line 4641: // FIXME: We could determine equivalence based on both sides canonicalizing - line 4648: // FIXME: Realizes potential archetypes far too early. - line 4795: // FIXME: Go through recordConformanceConstraint()? - line 5244: // FIXME: Inaccurate TypeReprs. - line 5261: // FIXME: Crummy source-location information. - line 5279: // FIXME: Awful. - line 5805: // TODO: conflicts with concrete - line 5917: // TODO: less-specific constraints - line 5918: // TODO: conflicts with other layout constraints - line 5919: // TODO: conflicts with concrete and superclass - line 6061: // FIXME: This is not even correct, because we may not have reached fixed point - line 6214: // FIXME: Expand all conformance requirements. This is expensive :( - line 6313: // FIXME: The constraint string is printed directly here because - line 7105: // FIXME: Skip self-derived sources. This means our attempts to "stage" - line 7820: // FIXME: This should be an assert once we ensure that concrete - line 7887: // FIXME: Distinguish between explicit and inferred here? - line 8037: // FIXME: Is there a more principled formulation of this? - line 8586: // FIXME: (transitional) increment the redundant "always-on" counter. lib/Sema/TypeCheckProtocol.cpp (33 lines): - line 154: // FIXME: It probably makes sense to extend this to non-@objc - line 238: // FIXME: Check property names! - line 713: // FIXME: Could allow (trivial?) subtyping here. - line 755: // FIXME: Specialize the match failure kind - line 1087: // FIXME: witness as a base locator? - line 1112: // FIXME: Check whether this has already failed. - line 1377: // FIXME: When default implementations come along, we can try to match - line 1426: // FIXME: ...but we should do something better about types. - line 2219: // FIXME: Remove this once setInvalid() goes away. - line 2339: // FIXME: Dig into the pattern. - line 2484: // FIXME: Determine which associated types matter, and only print those. - line 3524: // FIXME: Infer body indentation from the source rather than hard-coding - line 3577: // FIXME: Once we support move-only types, remove this if the - line 3687: static ArrayRef pruneMissingWitnesses( // FIXME: this does not remove the missing witness note here!!! - line 4029: // FIXME: We're not recovering (in the AST), so the Fix-It - line 4317: // FIXME: The problem may not be the OS version. - line 4434: // FIXME: revisit this once we get default definitions in protocol bodies. - line 4448: // FIXME: We could do something crazy, like try to fix up the witness. - line 4532: // FIXME: revisit this once we get default implementations in protocol bodies. - line 4564: // FIXME: The RequirementMachine will assert on re-entrant construction. - line 4604: // FIXME: Why is conformsToProtocol() not enough? The stdlib doesn't - line 4700: // FIXME: If SwiftUI redeclares the typealias under the correct constraints, - line 4729: // FIXME: This should not be necessary. - line 4849: // FIXME: maybe this should be the conformance's type - line 4866: // FIXME: Would be nice to give some more context here! - line 5130: // FIXME: Caller checks that this type conforms to all of the - line 5152: // FIXME: Not really true. We could check witnesses that don't involve the - line 5200: // FIXME: If SwiftUI redeclares the typealias under the correct constraints, - line 5903: // FIXME: Turn this function into a request instead of computing this - line 6002: // FIXME: This is a workaround. The proper solution is for IRGen to - line 6538: // FIXME: for now, don't even try this with generics involved. We - line 6622: // FIXME: ConformanceChecker and the other associated WitnessCheckers have - line 6640: // FIXME: ConformanceChecker and the other associated WitnessCheckers have lib/SIL/Verifier/SILVerifier.cpp (28 lines): - line 346: // TODO: This should probably be unconditionally +1 when we - line 457: // TODO: Remove this in favor of using Inout and In_Guaranteed. - line 526: // TODO: Can this switch be restructured so break -> error, continue -> - line 567: // TODO: Can we do better? - line 984: // FIXME: For sanity, address-type phis should be prohibited at all SIL - line 1012: // FIXME: when critical edges are removed and cond_br arguments are - line 1825: // TODO: Expand this to also be true for address only types. - line 1884: // TODO: Impose additional constraints when partial_apply when the - line 1907: // TODO: Check that generic signature matches box's generic signature, - line 2171: // TODO: Could probably make this a bit stricter. - line 2278: // FIXME: rdar://57291811 - the following check for valid storage will be - line 2366: // TODO: Could probably make this a bit stricter. - line 2605: // FIXME: When the work to force MUI to be on Allocations/SILArguments - line 2609: // TODO: Should we support SILUndef on mark_uninitialized? We - line 2619: // FIXME: We only support pointer to address here to not break LLDB. It is - line 2708: // TODO: This instruction could in principle be generalized. - line 3533: // TODO: We should enforce that ObjC methods are dispatched on ObjC - line 4391: // FIXME: Not yet, to be enabled when this is true. - line 4569: // TODO: Type should be either integer or function - line 5124: // TODO: Check that derivative function types match excluding - line 5164: // TODO: Check that transpose function type matches excluding - line 5177: // TODO: Consider tightening verification. This requires changes to - line 5192: // TODO: Ban 'Normal' and 'Forward'. - line 5601: // this successor bb. (FIXME: Why? Infinite loops should still - line 5879: // TODO: base type for global/static descriptors - line 6043: // TODO: Check the root vtable entry for the method too. - line 6083: // FIXME: associated type witnesses. - line 6092: // FIXME: For now, all default witnesses are private. lib/Sema/CSGen.cpp (27 lines): - line 308: // TODO: Compute the BCT. - line 343: // TODO: We currently limit this optimization to known arithmetic - line 709: // TODO: This is only valid for arithmetic expressions. - line 986: // FIXME: This can only happen when diagnostics successfully type-checked - line 997: // FIXME: weak name! - line 1003: // FIXME: synthesizeMaterializeForSet() wants to statically dispatch to - line 1384: // FIXME: This supports the result builder transform, which sneakily - line 1417: // FIXME: Note this as invalid, in case we don't find a solution, - line 1439: // FIXME: Do we need to note that we're doing some kind of recovery? - line 1448: /*FIXME:*/FunctionRefKind::DoubleApply); - line 1599: // FIXME: We could support explicit function specialization. - line 1659: // FIXME: If the base type is a type variable, constrain it to a metatype - line 1893: // FIXME: This isn't actually used for anything at the moment. - line 1900: // FIXME: Protect against broken standard library. - line 2258: // FIXME: This should be handled in the solver, not here. - line 2317: // FIXME: Need a better locator for a pattern as a base. - line 2352: // FIXME [OPAQUE SUPPORT]: the distinction between where we want opaque - line 2505: // FIXME: Sometimes the parent type is realized eagerly in - line 2575: // FIXME: Verify ExtInfo state is correct, not working by accident. - line 2578: // TODO: Convert to FunctionInput/FunctionResult constraints. - line 2595: // TODO: we could try harder here, e.g. for enum elements to provide the - line 2645: // FIXME: We can see UnresolvedDeclRefExprs here because we have - line 2965: // FIXME: Locator for the cast type? - line 3189: // FIXME: Fix-It to add the import? - line 3264: ? DeclNameRef(component.getUnresolvedDeclName()) // FIXME: type change needed - line 3683: // FIXME: We should somehow pass an OpenUnboundGenericTypeFn to - line 4073: // FIXME: This should be folded into constraint generation for conditions. lib/IRGen/IRGenSIL.cpp (27 lines): - line 1043: /// TODO: just make sure that we have a path to them that the debug info - line 1061: // TODO: fix demangling for C++ types (SR-13223). - line 1713: // TODO: Check if the function is supposed to be excluded from ASan either by - line 1823: // TODO: Handle this during SIL AddressLowering. - line 1902: // FIXME: that doesn't mean we should physically pass it - line 2211: // TODO: consider re-using a dom analysis from the PassManager - line 2212: // TODO: consider using a cheaper analysis at -O0 - line 2232: // FIXME: Use the SIL basic block's name. - line 2316: // TODO: as soon as we generate alloca instructions with accurate lifetimes - line 2777: // FIXME: We need to convert this back to an ObjC class for an - line 2916: // FIXME: why on earth is this not correctly represented in SIL? - line 4030: // FIXME: This is cheesy when the destination BB has only the switch - line 4094: // FIXME: We could lower select_enum directly to LLVM select in a lot of cases. - line 4238: // FIXME: Loses potentially better alignment info we might have. - line 4417: // FIXME: Assume (probably safely) that the hasMethodBB has only us as a - line 4501: // TODO: Implement this more generally for arbitrary values. Currently the - line 4703: // TODO: We could be more aggressive about considering addresses based on - line 4794: // TODO: Handling nontrivial aggregates requires implementing poisonRefs - line 4808: // TODO: This assumes that only class references are poisoned (as guaranteed - line 4830: // FIXME: To limit perturbing original source, this follows the strange - line 4838: // FIXME: Handling Optional existentials requires TypeInfo - line 5527: // FIXME: This is a workaround to not produce local variables for - line 5856: // TODO: Although runtime checks are not required, we get them anyway when - line 5929: // TODO: We could do bitcasts entirely in the value domain in some cases, but - line 6003: // FIXME: Except for optionals, which get bit-packed into an integer. - line 6038: // FIXME: Except for optionals, which get bit-packed into an integer. - line 7000: // FIXME: better explosion kind, map as static. lib/SILGen/SILGenApply.cpp (27 lines): - line 633: // TODO: substOpaqueTypesWithUnderlyingTypes ... - line 873: // TODO: preserve the function pointer at its original abstraction level - line 1229: // FIXME: We might need to go through ObjC dispatch for references to - line 1243: // FIXME: Check whether this function conversion requires us to build a - line 1249: // FIXME: These expressions merely adjust the result type for DynamicSelf - line 1635: // FIXME: Verify ExtInfo state is correct, not working by accident. - line 1660: // TODO: move onto SGF directly and reuse in SILGenDistributed and other places - line 3357: // TODO: honor C here. - line 3412: // TODO: we can pass at +0 (immediate) to an unowned parameter - line 3827: // FIXME: Unnecessary? - line 3940: // TODO: destroy all the arguments at exactly this point? - line 4367: // TODO: borrow 'self' for nonmutating methods on methods on value types. - line 4654: // TODO: maybe this should happen after managing the result if it's - line 4701: {}, foreignError, {}, // TODO: take a foreign async convention? - line 4755: // TODO: adjust this to create try_begin_apply when appropriate. - line 4773: // TODO: adjust this to handle results of TryBeginApplyInst. - line 5113: // TODO: in general this produces RValues... - line 5506: // TODO: We shouldn't be able to get an lvalue here, but the AST - line 5554: // FIXME: this assumes that there's never meaningful reabstraction of self - line 5683: // TODO: do something to preserve LValues in the delayed arguments? - line 5695: // TODO: use the real abstraction pattern from the accessor(s) in the - line 6145: // FIXME: Verify ExtInfo state is correct, not working by accident. - line 6166: // FIXME: Verify ExtInfo state is correct, not working by accident. - line 6174: // TODO: instead of building this and then potentially converting, we - line 6179: // FIXME: Verify ExtInfo state is correct, not working by accident. - line 6277: // FIXME: Verify ExtInfo state is correct, not working by accident. - line 6284: // FIXME: Verify ExtInfo state is correct, not working by accident. lib/Sema/ConstraintSystem.cpp (26 lines): - line 100: // FIXME: (transitional) increment the redundant "always-on" counter. - line 175: // FIXME: Eliminate the less-correct path. - line 687: // FIXME: For some reason we can end up with unbound->getDecl() - line 826: // FIXME: This should be an assert, however protocol generic signatures - line 978: // FIXME: Perform a more limited simplification? - line 1841: // FIXME: Verify ExtInfo state is correct, not working by accident. - line 1868: // FIXME: Verify ExtInfo state is correct, not working by accident. - line 1952: // FIXME: Verify ExtInfo state is correct, not working by accident. - line 2144: // FIXME: Verify ExtInfo state is correct, not working by accident. - line 2266: // FIXME: Verify ExtInfo state is correct, not working by accident. - line 2800: // FIXME: Should propagate name-as-written through. - line 2855: // FIXME: Verify ExtInfo state is correct, not working by accident. - line 2989: // FIXME: Verify ExtInfo state is correct, not working by accident. - line 2994: // FIXME: Verify ExtInfo state is correct, not working by accident. - line 3047: // TODO: Instead of not increasing the score for arguments to #selector, - line 3153: // FIXME: It's kind of weird in general that we have to look - line 3256: // TODO: This should probably produce subscript(keyPath:), but we - line 3316: // FIXME: can this be removed? We need to arrange for recordFixes to be - line 3343: // FIXME: If we were able to actually fix things along the way, - line 4341: // FIXME: Should be able to pick the best locator, e.g., based on some - line 4345: // FIXME: We would prefer to emit the name as written, but that information - line 4363: // candidate once. FIXME: Why is one candidate getting into the overload - line 4372: // FIXME: show deduced types, etc, etc. - line 4385: // FIXME: Actually diagnose something here. - line 4393: // FIXME: If we inferred different types for literals (for example), - line 4633: // FIXME: Lots of other cases to handle. lib/ClangImporter/ImportType.cpp (25 lines): - line 219: // TODO: Add support for dependent types (SR-13809). - line 263: // FIXME: Types that can be mapped, but aren't yet. - line 407: // FIXME: Implement once Complex is in the library. - line 414: // FIXME: handle pointers and fields of atomic type - line 492: // FIXME: We have tests using a non-Apple stdlib that nevertheless - line 499: // FIXME: We should refuse to import this. - line 565: // FIXME: Member function pointers can be mapped to curried functions, - line 572: // FIXME: Array types will need to be mapped differently depending on - line 578: // FIXME: Map to a real fixed-size Swift array type when we have those. - line 665: // FIXME: If we were walking TypeLocs, we could actually get parameter - line 685: // FIXME: Verify ExtInfo state is correct, not working by accident. - line 740: // FIXME: This drops any added protocols on the floor, which is the whole - line 817: // FIXME: Darwin only? - line 879: // TODO: add custom visitors for these types. - line 928: // FIXME: If the enum has a fixed underlying type, can we use that - line 1160: // FIXME: Import their non-Hashable type parameters as - line 1330: // FIXME: Avoid string comparison by caching this identifier. - line 1557: // FIXME: Eventually we might get C++-like support for strong pointers in - line 1560: // FIXME: This should apply to blocks as well, but Unmanaged is constrained - line 1835: // TODO: once we support generics in class types, replace this with - line 1865: // TODO: we currently don't lazily load operator return types, but - line 2530: // on NSString that has an error parameter. FIXME: This is a work-around - line 2696: // FIXME: Duplicated from importMethodParamsAndReturnType. - line 2834: // FIXME: Map source locations over. - line 2891: // TODO: Check that the bridged type is Hashable? lib/IRGen/GenMeta.cpp (25 lines): - line 203: // TODO: use these? - line 294: // TODO: final? open? - line 1809: // TODO: Derivative functions do not distinguish themselves in the mangled - line 1931: // FIXME: do something meaningful for foreign classes? - line 1946: // FIXME: do something meaningful for foreign classes? - line 2511: // FIXME: make the runtime do this in all cases, because there's no - line 2515: // FIXME: should we handle the other cases here? - line 2631: // FIXME: this will be problematic if we ever try to bind superclass - line 2974: // TODO: Don't emit the symbol if field has a fixed offset and size - line 3101: // FIXME: Should this check HasImported instead? - line 3140: // FIXME: Remove this to save metadata space. - line 3244: // TODO: the metadata global can actually be constant in a very - line 3288: // FIXME: Wrong - line 3296: // FIXME: Remove null data altogether rdar://problem/18801263 - line 3311: // FIXME: Remove null data altogether rdar://problem/18801263 - line 3714: // TODO: use the real field offsets if they're known statically. - line 3739: // TODO: recognize cases where this is not required. - line 3811: // TODO: Statically specialize the witness table pattern for t's - line 3841: // FIXME: rdar://problem/58884416: - line 3867: // FIXME: Remove this class's FieldLayout. The superclass has its own copy, - line 4173: // TODO: If we know the type statically has extra inhabitants, we know - line 4541: // FIXME: rdar://problem/58884416: - line 4747: // FIXME: rdar://problem/58884416 - line 5119: // FIXME: take advantage of this on other targets when targeting a - line 5504: // ABI TODO: Same type and superclass constraints also imply lib/IRGen/IRGenDebugInfo.cpp (25 lines): - line 687: /// FIXME: replace this condition with something more sane. - line 897: // TODO: Eliminate substitutions in SILFunctionTypes for now. - line 919: // FIXME: Some existential types are reconstructed without - line 923: // [FIXME: Include-Clang-type-in-mangling] Remove second check - line 1018: // FIXME: Is DW_TAG_union_type the right thing here? - line 1031: // FIXME Support enums. - line 1232: // FIXME: Handling of generic parameters in SIL type lowering is in flux. - line 1287: // FIXME: assert that SizeInBits == OffsetInBits. - line 1320: // FIXME: For SizeInBits, clang uses the actual size of the type on - line 1326: // FIXME: SizeInBits is redundant with DbgTy, remove it. - line 1469: // FIXME: (LLVM branch) This should probably be a DW_TAG_interface_type. - line 1520: // TODO: We may want to peek at Decl->isObjC() and set this - line 1640: // FIXME: Emit the name somewhere. - line 1706: // FIXME: Provide a more meaningful debug type. - line 1734: // TODO: C++ types are not yet supported (SR-13223). - line 1798: // FIXME: Builtin and qualified types in LLVM have no parent - line 1799: // scope. TODO: This can be fixed by extending DIBuilder. - line 2082: // FIXME: Enable this assertion. - line 2166: // FIXME: This location should point to stdlib instead of being artificial. - line 2202: // FIXME: This is a bug in the SIL deserialization. - line 2427: // FIXME: This will only happen if IRGen hasn't processed ParentSILType - line 2506: // FIXME: this should be the scope of the type's declaration. - line 2680: // FIXME: The live range of a coroutine alloca within the function may be - line 2719: // TODO: fix demangling for C++ types (SR-13223). - line 2737: // FIXME: Really these should be marked as artificial, but LLVM lib/IRGen/GenDecl.cpp (24 lines): - line 204: // FIXME: register property metadata in addition to the methods. - line 383: // TODO: Add properties to protocol. - line 476: // FIXME: It'd be better to have the driver invocation or build system that - line 1239: // FIXME: We'd get the exact set of implicit imports if we went through the - line 1393: // TODO: Once non-canonical accessors are available, this variable should - line 1798: // TODO: replacementLinkEntry->setZeroSection() - line 2152: // TODO: there are probably cases where we can avoid redoing the - line 2452: // TODO: Eventually we'll need to emit descriptors to access the opaque - line 2524: // FIXME: We should integrate this into the LinkEntity cache more cleanly. - line 2609: // TODO: Analyze the body of function f and return true if it is - line 2633: // FIXME: We do not currently transfer AlwaysInline since doing so results - line 3151: // FIXME: We should integrate this into the LinkEntity cache more cleanly. - line 3302: // TODO: We should really sign a pointer to *any* code entity or true-const - line 3372: // FIXME: don't just fall through; force the creation of a weak - line 3544: // FIXME: Relative references to aliases break MC on 32-bit Mach-O - line 3620: // TODO: consider using a symbolic reference (i.e. a symbol string - line 3864: // FIXME: This needs to be a linker-local symbol in order for Darwin ld to - line 3962: // FIXME: This needs to be a linker-local symbol in order for Darwin ld to - line 4058: // FIXME: This needs to be a linker-local symbol in order for Darwin ld to - line 4550: // FIXME: MC breaks when emitting alias references on some platforms - line 4692: // FIXME: Non-nominal metadata provided by the C++ runtime is exported - line 4746: // FIXME: MC breaks when emitting alias references on some platforms - line 5266: /// FIXME: willBeRelativelyAddressed is only needed to work around an ld64 bug - line 5274: // FIXME: Clear unnamed_addr if the global will be relative referenced lib/IRGen/MetadataRequest.cpp (24 lines): - line 582: // TODO: memoize this the same way that we memoize Swift type metadata? - line 827: // TODO: Once witness tables are statically specialized, check whether - line 860: // TODO: On platforms without ObjC interop, we can do direct access to - line 989: // TODO: On platforms without ObjC interop, we can do direct access to - line 1022: // TODO: On non-Apple platforms, fixed classes should not need any - line 1134: // TODO: if we have a collector, or if this is a blocking request, maybe - line 1188: // TODO: use a caching entrypoint (with all information - line 1627: // FIXME: We shouldn't accept a lowered metatype here, but we need to - line 1928: // FIXME: Technically should be "consume", but that introduces barriers in the - line 2540: // TODO: Also need to count the parent type's generic arguments. - line 2551: // TODO: Also need to count the parent type's generic arguments. - line 2736: // FIXME: Technically should be "consume", but that introduces barriers - line 2787: // TODO: Use mangled name lookup in generic - line 2795: // TODO: Use mangled name lookup in generic - line 3003: // FIXME: Replace this with an assertion that the original tuple element - line 3036: // FIXME: Except for extra inhabitants? - line 3040: // FIXME: It'd be nice not to have to call through the runtime here. - line 3042: // FIXME: Verify ExtInfo state is correct, not working by accident. - line 3066: // FIXME: It'd be nice not to need a runtime call here; we should just - line 3110: /// and project out its metadata. (FIXME: This leads to deadlocks in - line 3191: // TODO: If a nominal type is in the same source file as we're currently - line 3240: // FIXME: Except for extra inhabitants? - line 3244: // FIXME: Verify ExtInfo state is correct, not working by accident. - line 3338: // TODO: check for cached VWT / metadata for the type. lib/IRGen/GenEnum.cpp (23 lines): - line 692: // FIXME: Hold off on registering extra inhabitants for dynamic enums - line 970: // FIXME: We need to do a tag-to-discriminator mapping here, but really - line 1086: // TODO: Support this function also for other enum implementation strategies. - line 1092: // TODO: Support this function also for other enum implementation strategies. - line 1728: (void)payloadCopy.claimAll(); // FIXME: repack if not bit-identical - line 1775: // TODO: If the payload type info provides a preferred explosion schema, - line 1812: // FIXME: All single-retainable-pointer types should eventually have - line 1819: // TODO: Do this for all types, not just loadable types. - line 1908: // FIXME: This could likely be implemented directly. - line 1989: // TODO: This logic covers the most common case, when there's exactly one - line 2172: // FIXME: Provide a mask to only match the bits in the payload - line 3190: // FIXME: If we spilled extra tag bits, we could offer spare bits from the - line 3280: // TODO: consider inlining some of this so that we don't have to - line 3343: // TODO: consider inlining some of this so that we don't have to - line 3550: (void)tmp.claimAll(); // FIXME: repack if not bit-identical - line 3585: // TODO: We might be able to form a nicer schema if the payload elements - line 3651: // FIXME: Memory corruption issues arise when enabling this for mixed - line 4567: (void)tmp.claimAll(); // FIXME: repack if not bit-identical - line 5566: // TODO: They don't have to be. - line 6279: // FIXME: Derive spare bits from element layout. - line 6474: // TODO: We can use all values greater than the largest discriminator as - line 6579: // FIXME: We don't have enough semantic understanding of extra inhabitant - line 7138: // TODO: could do more to avoid inserting unnecessary ANDs. For lib/SILGen/SILGenLValue.cpp (23 lines): - line 55: // TODO: honor forUnwind! - line 139: // TODO: Stored properties with didSet accessors that don't look at the - line 623: // FIXME: In order to generate more consistent and verifiable SIL patterns, or - line 803: // TODO: if the base is +1, break apart its cleanup. - line 834: // TODO: if the base is +1, break apart its cleanup. - line 931: /// TODO: Could be physical if we had a way to project out the - line 1480: // TODO: revist minimal - line 1581: // FIXME: This should use CallEmission instead of doing everything manually. - line 1962: // TODO: build a scalar tuple if possible. - line 2429: // TODO: combine reabstractions; this doesn't matter all that much - line 2458: // TODO: combine reabstractions; this doesn't matter all that much - line 2541: // TODO: it would be great to factor this even lower into SILGen to the - line 2874: // TODO: integrate this with how callers want these values so we can do - line 2939: // doesn't change. FIXME: this can't happen with sil-opaque-values. - line 3326: // FIXME: This has to be dynamically looked up for classes, and - line 3329: // FIXME: this implicitly drops the earlier components, but maybe - line 3494: // TODO: make LogicalKeyPathApplicationComponent expect/produce values - line 3634: // TODO: deal more efficiently with an object-preferring access. - line 4008: /* FIXME: resilience */ \ - line 4302: // FIXME: This has to be dynamically looked up for classes, and - line 4311: // FIXME: don't need to check hasStorage, already done above - line 4478: // TODO: allow reabstraction here, too. - line 4486: // TODO: should we instead just immediately open the existential lib/AST/ASTPrinter.cpp (23 lines): - line 98: // FIXME: If we have an internal typealias for a non-internal type, we ought - line 259: // FIXME: We don't really need 'public' on everything; we could just change - line 352: // FIXME: This is wasteful, but ASTPrinter is an abstract class that doesn't - line 749: // FIXME: it's not clear exactly what we want to keep from the existing - line 1231: // FIXME: We might be able to avoid printing names for some of these - line 1241: // FIXME: We _could_ figure out a way to generate an entry point - line 1268: // FIXME: This always returns true now, because of the FIXMEs listed in - line 3068: // FIXME: We're not printing proper "{ get set }" annotations in pattern - line 3083: // FIXME: PatternBindingDecls don't have attributes themselves, so just assume - line 3151: Printer << tok::pound_if << " /* condition */"; // FIXME: print condition - line 3153: Printer << tok::pound_elseif << " /* condition */"; // FIXME: print condition - line 3164: /// TODO: Should we even print #error/#warning? - line 3175: // TODO: If we introduce explicit opaque type decls, print them. - line 3200: // FIXME: An inferred associated type witness type alias may reference - line 3772: // FIXME: Hacky way to workaround the fact that 'Self' as return - line 4170: // FIXME: handle trailing closures. - line 4611: // FIXME: print expression. - line 4624: // FIXME: print expression. - line 4696: // FIXME: print container - line 4741: // FIXME: print guard expr - line 4763: // FIXME: Move all places where SIL printing is happening to explicit options. - line 5018: // FIXME: we should have a callback that would tell us - line 5424: // TODO: coalesce into a single convention attribute. lib/AST/Type.cpp (23 lines): - line 514: // FIXME: Verify ExtInfo state is correct, not working by accident. - line 920: // FIXME: Compute this as a bit in TypeBase so this operation isn't - line 1064: // FIXME: We ought to not request paramer list info in this case. - line 1427: // FIXME: This is a dreadful hack. - line 1960: // TODO: If the archetype has a superclass constraint, check that the - line 1963: // TODO: For private types or protocols, we might be able to definitively - line 2078: // TODO: Conformance on generalized generic extensions could conceivably - line 2093: // TODO: Look this up using the upperBoundSubstConformances - line 2162: // FIXME: The upperBound on the nominal type itself may impose additional - line 2292: // TODO: Label reordering? - line 2927: // FIXME: Make this more principled. - line 2938: // FIXME: We allow trivially-representable cases that also - line 3057: // FIXME: Handle generic functions in non-ABI matches. - line 4190: // FIXME: Should pass dependentType instead, once - line 4313: // FIXME: Change getTypeOfMember() to not pass GenericFunctionType here - line 4321: // FIXME: Add SIL versions of mapTypeIntoContext() and - line 4544: // FIXME: This feels painfully inefficient. We're creating a dense map - line 5073: // FIXME: This re-looks-up conformances instead of transforming them in - line 5149: // FIXME: This is really unfortunate. - line 5290: // FIXME: Does this need to do bounds checking? - line 5391: // FIXME: Remove this once we get rid of TVO_CanBindToInOut; - line 6118: // FIXME: Verify ExtInfo state is correct, not working by accident. - line 6170: // FIXME: Verify ExtInfo state is correct, not working by accident. lib/IDE/Refactoring.cpp (23 lines): - line 204: // FIXME: handle comments foo(a /*...*/b: Int). - line 225: size_t Colon = Content.find(':'); // FIXME: leading whitespace? - line 339: // FIXME: only allow one variadic param - line 391: // FIXME: handle escaped keyword names `init` - line 395: // FIXME: this should only be treated specially for instance methods. - line 445: // FIXME: Workaround for enum case labels until we support them - line 503: // FIXME: Preserve comments: foo([a/*:*/ : /*:*/ ]2, ...) - line 1006: // FIXME: diagnose what happened? - line 1914: // FIXME: we should have ErrorType instead of null. - line 2971: // FIXME: Support more complex subject like '(Enum1, Enum2)'. - line 3364: // FIXME: Allow to generate explicit == method for declarations which already have - line 3883: // TODO: Should probably split the refactorings into separate files - line 3927: // TODO: Bit pointless using the "ContextFinder" here. Ideally we would have - line 4356: // TODO: If we have an async alternative we should check its result types - line 4551: // FIXME: Sema should produce ErrorType. - line 5407: // TODO: Remove known conditions and split the `if` statement - line 5445: // TODO: Split the `if` statement - line 5472: // TODO: Handle nested ifs - line 6447: // TODO: Handle Result.get as well - line 6696: // TODO: Add throws if converting a function and it has a converted call - line 6730: // TODO: Should remove the generic param and where clause for the error - line 8322: // FIXME: syntactic rename can only decide by checking the spelling, not - line 8339: // FIXME: if the cursor is on the argument, we should return global rename. lib/AST/Decl.cpp (22 lines): - line 51: #include "swift/Parse/Lexer.h" // FIXME: Bad dependency - line 1191: // FIXME: Only functions can be overloaded. - line 2057: // TODO: maybe add a specific strategy for this? - line 2083: // TODO: maybe add a specific strategy for this? - line 2087: // TODO: maybe add a specific strategy for this? - line 2573: // FIXME: Arbitrarily pick the first overridden declaration. - line 3605: // FIXME: Swift 4.1 allowed accessing protocol extension methods that were - line 4094: // FIXME: Assert that this is never queried. - line 4107: // FIXME: Assert that this is never queried. - line 4201: // FIXME: Performance hack because we end up looking at the overridden - line 4328: // TODO: Unless they have magic methods... - line 4347: // FIXME: rdar://56844567 - line 4716: // FIXME: This is extremely inefficient. The SILOptimizer should build a - line 4744: // FIXME: This is extremely inefficient. The SILOptimizer should build a - line 5154: // FIXME: This shouldn't ever appear in protocol requirement - line 5256: // FIXME: Rather than having a special flag for the is-inheritable check, - line 5299: // FIXME: Appropriately diagnose assignments instead. - line 5385: // FIXME: (transitional) increment the redundant "always-on" counter. - line 6224: // FIXME: Revisit this; in particular shouldn't __owned parameters be - line 7695: // FIXME: Forces computation of the Objective-C selector. - line 8614: // FIXME: Verify ExtInfo state is correct, not working by accident. - line 8941: // FIXME: Doesn't work properly with generics lib/Serialization/Deserialization.cpp (22 lines): - line 316: // FIXME: Add something for this record or remove it. - line 606: // FIXME: If the module hasn't been loaded, we probably don't want to fall - line 1074: // FIXME: Is this kind of re-entrancy actually possible? - line 1273: // FIXME: Should be able to move a value from an extension in a derived - line 1393: // FIXME: Don't throw away the inner error's information. - line 1754: // FIXME: Don't throw away the inner error's information. - line 2190: // FIXME: duplicated from ImportResolver::getModule - line 2541: // FIXME: If we reverse them at serialization time we could get rid of this. - line 2932: // FIXME: why is a convenience init considered overridden when the - line 3108: // FIXME: This is actually wrong. We can't just drop stored properties - line 3179: // FIXME: This should never happen, because we don't serialize - line 3194: // FIXME: Default argument expression, if available. - line 3271: // FIXME: "TypeError" isn't exactly correct for this. - line 3284: // TODO: find some better way of breaking this cycle, like lazily - line 4553: // TODO: deserialize them. - line 4840: // FIXME: @_dynamicReplacement(for:) includes a reference to another decl, - line 5685: // FIXME: Check this? - line 5896: // Bounds check. FIXME: overflow - line 6050: // FIXME: Check this? - line 6335: // FIXME: Handle overridable members in class extensions too, someday. - line 6407: // TODO: Implement diagnostics for failed member lookups from module files. - line 6605: // FIXME: We don't actually want to allocate an archetype here; we just lib/Sema/TypeCheckType.cpp (22 lines): - line 111: // FIXME: It would be nice to have a 'DescriptiveTypeKind' abstraction instead. - line 248: // FIXME: We should be performing a deeper equality check here. - line 445: // FIXME: Remove this once the above FIXME is addressed. - line 582: // TODO: We should be able to just open the generic arguments as N - line 708: // FIXME: If we have fewer arguments than we need, that might be okay, if - line 792: // TODO: This error message should not reference implementation details. - line 1180: // FIXME: What if the unviable candidates have different levels of access? - line 1185: // FIXME: If any of the candidates (usually just one) are in the same - line 1246: // FIXME: What if the unviable candidates have different levels of access? - line 1251: // FIXME: If any of the candidates (usually just one) are in the same module - line 1262: // FIXME: Typo correction! - line 1444: // FIXME: We could recover by looking at later components. - line 1468: // FIXME: The passed-in TypeRepr should get 'typechecked' as well. - line 1631: // FIXME: Could try to apply generic arguments first, and see whether - line 1734: // FIXME: It would be better to add a new AttributedType sugared type, - line 2163: // FIXME: Temporary hack to resolve an identifier type to one of the - line 3041: // has one. (TODO: Field types should never refer to generic parameters - line 3438: // FIXME: check that here? - line 3587: // TODO: more diagnotics - line 3768: // FIXME: We could probably make this work. - line 3951: // TODO: diagnose invalid representations? - line 4243: // FIXME: Don't let unbound generic types lib/SIL/IR/SILFunctionType.cpp (21 lines): - line 111: // TODO: We should always require a function type. - line 124: // TODO: We should always require a function type. - line 205: // TODO: When witnesses use substituted types, we'd get this from the - line 1281: // TODO: We could conceivably have an indirect opaque ** imported - line 1561: // FIXME: should this be integrated in with the Sema check that prevents - line 1852: /// FIXME: we shouldn't just drop the original abstraction pattern - line 2115: // TODO: Put an unreachable here? - line 2121: // TODO: Investigate whether or not it is - line 2427: // FIXME: that should be Direct_Guaranteed - line 2609: // FIXME: blocks should be Direct_Guaranteed. - line 2819: // TODO: Ought to support captures in block funcs. - line 3146: // TODO: Is this correct for operators? - line 3177: // FIXME: Assert that there is a native entry point - line 3357: // FIXME: This makes me very upset. Can we do without this? - line 4188: // TODO: Undo this if we stop using inout. - line 4257: // TODO: We should compare generic signatures. Class and witness methods - line 4260: // TODO: More sophisticated param and return ABI compatibility rules could - line 4274: // TODO: An exception for pointerish types? - line 4279: // TODO: Should destructure recursively. - line 4327: // FIXME: If one or both types are dependent, we can't accurately assess - line 4451: // TODO: Could allow known-empty types to be inserted or removed, but SIL lib/AST/Module.cpp (21 lines): - line 86: // FIXME: This leaks. Sticking this into ASTContext isn't enough because then - line 580: // FIXME: If we ever get mixed modules that contain both SourceFiles and other - line 777: // FIXME: Make sure this table is complete, somehow. - line 960: // FIXME: Should this do extra access control filtering? - line 995: // TODO: synthesize witness tables on-demand for protocol compositions - line 1319: // FIXME: Conformance lookup should really depend on source location for - line 1338: // FIXME: This is a hack to work around our inability to handle multiple - line 1396: /// FIXME: Gross. Hashing multiple "hash" values. - line 1501: // FIXME: Ideally we should assert that the file has had its imports resolved - line 1642: // FIXME: This works around a backward-compatibility issue where - line 1655: // FIXME: Audit uses of this function and figure out how to migrate them to - line 1801: // FIXME: The proper way to do this depends on the decls used. - line 1893: // FIXME: If we used a commutative hash combine (say, if we could take an - line 1924: // FIXME: This is still a lousy approximation of whether the module file will - line 2775: // TODO: In the future, we'd like to handle these conflicts gracefully by - line 2887: // FIXME: Update existing ASTWalkers to deal with accessors appearing as - line 2915: // FIXME: Update existing ASTWalkers to deal with accessors appearing as - line 2965: // FIXME: Use a faster hash here? We don't need security, just uniqueness. - line 2974: // FIXME: There are more compact ways to encode a 16-byte value. - line 3063: // TODO: Use a more robust discriminator for synthesized files. Pick something - line 3073: // FIXME: There are more compact ways to encode a 16-byte value. lib/AST/ASTVerifier.cpp (20 lines): - line 471: // FIXME: This is a bit of a hack; we should be able to check the - line 550: // TODO: eliminate all these - line 888: // TODO: check for uniqueness of initializer contexts? - line 1603: // TODO: Verify that the conformance applies to the type? - line 1606: // TODO: Check layout constraints? - line 1670: // FIXME: This doesn't seem like a particularly robust - line 1687: // FIXME: This is only handling the value conversion, not - line 1828: // FIXME: Check container/member types through substitutions. - line 1866: // FIXME: Check base/member types through substitutions. - line 1883: // FIXME: Check base/member types through substitutions. - line 2492: // FIXME: Update to look for plain Optional once - line 2555: // FIXME: Check replacement types without forcing anything. - line 2563: // FIXME: Eventually, this should itself be a verification - line 2780: // FIXME: This is a hack to workaround the fact that we don't necessarily - line 3020: // FIXME: This is a general property of the type system. - line 3381: // FIXME: Tighten up checking for conversions to protocol types. - line 3404: // FIXME: Actually check this? - line 3458: // FIXME: Re-visit this to always do the check. - line 3628: // FIXME: This is not working well for decl parents. - line 3641: // FIXME: This hack is required because the inclusion check below lib/Sema/TypeCheckProtocolInference.cpp (20 lines): - line 170: // TODO: Do a proper equivalence check here by looking for some relationship - line 461: // FIXME: If we had some basic sanity checking of Self, we might be able to - line 515: // FIXME: Could we infer from 'Self' to make these work? - line 529: // FIXME: This doesn't actually break recursion when substitution - line 702: // FIXME: Check whether one of the types is dependent? - line 722: // FIXME: This is a weird state introduced by associated type inference - line 737: /// FIXME: Recheck the type of Self against the second type? - line 769: // FIXME: A renamed match might be useful to retain for the failure case. - line 802: // FIXME: We could find *all* of the non-covered, defaulted associated types. - line 819: // FIXME: The RequirementMachine will assert on re-entrant construction. - line 847: // FIXME: Bailing out on ambiguity. - line 864: // FIXME: Circularity - line 894: /// FIXME: Diagnose based on this. - line 1063: // FIXME: Get rid of this hack. - line 1206: // FIXME: If mapping into context yields an error, or we still have a - line 1505: // FIXME: It could, if someone constrained to ConcreteType.AssocType... - line 1515: // FIXME: Extensions sometimes have null generic signatures while - line 1657: // FIXME: This is a silly heuristic that should go away. - line 2023: // FIXME: This is ridiculous. - line 2047: // FIXME: We can end up here with dependent types that were not folded lib/SIL/IR/TypeLowering.cpp (19 lines): - line 301: // TODO: Ban `Normal` and `Forward` cases. - line 926: // TODO: Once the pass pipeline is fixed, we should evaluate if we can do - line 952: // TODO: Once the pass pipeline is fixed, we should evaluate if we can do - line 1108: // TODO: Once the pass pipeline is fixed, we should evaluate if we can do - line 1611: /// FIXME: When you remove an unreachable, just delete the method. - line 1990: // FIXME: Replace this with an assertion that the original tuple element - line 2319: // without context. (TODO: We could if they match the out-of-context - line 2417: // FIXME: Verify ExtInfo state is correct, not working by accident. - line 2455: // FIXME: Verify ExtInfo state is correct, not working by accident. - line 2483: // FIXME: Verify ExtInfo state is correct, not working by accident. - line 2511: // FIXME: Verify ExtInfo state is correct, not working by accident. - line 2541: // FIXME: Verify ExtInfo state is correct, not working by accident. - line 2622: // TODO: 'Never' return type would be more accurate. - line 2686: // FIXME: Closures could have an interface type computed by Sema. - line 2780: // FIXME: It might be better to compute lowered local captures of - line 3086: // FIXME: This should be more fine-grained -- we should only need the - line 3342: // TODO: For C language types we should consider the attached Clang types. - line 3444: // FIXME: check whether the representations are compatible modulo - line 3479: // TODO: We could conceivably minimize the captured generic environment to lib/Sema/TypeCheckDecl.cpp (18 lines): - line 92: // FIXME: doesn't accommodate >64-bit or signed raw integer or float values. - line 506: // FIXME: We can see UnresolvedDeclRefExprs here because we have - line 865: // FIXME: Use a semantic check for NSManaged rather than looking for the - line 1196: // TODO: We could potentially support #file, #function, #line and #column. - line 1419: // TODO: Requestify the lookup of a relation's group. - line 1803: // FIXME: Introduce a Fix-It that adds the operator declaration? - line 1806: // FIXME: Errors could cascade here, because name lookup for this - line 1921: // FIXME: Source compatibility hack for Swift 5. The compiler - line 2103: // FIXME: Don't let unbound generic types escape type resolution. - line 2107: // FIXME: Don't let placeholder types escape type resolution. - line 2329: // FIXME: Verify ExtInfo state is correct, not working by accident. - line 2351: // FIXME: Verify ExtInfo state is correct, not working by accident. - line 2378: // FIXME: Verify ExtInfo state is correct, not working by accident. - line 2383: // FIXME: Verify ExtInfo state is correct, not working by accident. - line 2402: // FIXME: In order for this request to properly express its dependencies, - line 2407: // FIXME: For now, this works because PatternBindingEntryRequest fills in - line 2743: // FIXME: Don't let unbound generic types escape type resolution. - line 2747: // FIXME: Don't let placeholder types escape type resolution. lib/SILOptimizer/Utils/OwnershipOptUtils.cpp (18 lines): - line 487: // TODO: if non-phi reborrows are added, handle multiple results. - line 509: // TODO: consider copying the base of the borrowed value instead of the - line 515: // TODO: consider reusing copies that dominate multiple reborrowed - line 554: // TODO: If non-phi reborrows are added, they would also need to be - line 888: /// TODO: determine whether \p newValue's borrow scope already encompasses all - line 892: /// TODO: Consider replacing all of newValue's uses with the new copy of - line 913: // FIXME: use GuaranteedOwnershipExtension - line 1047: // TODO: Implement this for more interesting cases. - line 1059: // TODO: Do we need a separate array here? - line 1084: // TODO: Implement this. - line 1189: // FIXME: why does this use allAddressUsesFromOldValue instead of - line 1248: // TODO: this could be converted to a bailout if we don't want the client code - line 1322: // FIXME: get rid of allAddressUsesFromOldValue. Shouldn't this already be - line 1353: // FIXME: enable these... - line 1433: // FIXME: Expand the cases here. - line 1462: // TODO: Implement this. - line 1585: // FIXME: Use GuaranteedPhiBorrowFixup to handle this case during perform(). - line 1677: // FIXME: consider integrating with ValueLifetimeBoundary instead. lib/Driver/Driver.cpp (18 lines): - line 447: // FIXME: This should work without an output file map. We should have - line 562: // FIXME: LLVM's YAML support does incremental parsing in such a way that - line 616: // FIXME: LLVM's YAML support does incremental parsing in such a way that - line 711: // FIXME: Can we do better? - line 868: // FIXME: We don't really need (or want) a full ContinueBuildingAfterErrors. - line 990: // FIXME: Distinguish errors from "file removed", which is benign. - line 1146: // FIXME: Handle '@' args (or at least error on them). - line 1407: // FIXME: This is a hack. - line 1884: // FIXME: AST dump also doesn't work with `-index-file`, but that fix is a bit - line 1895: // Emit a warning about such overriding (FIXME: we might conditionalize - line 2088: // FIXME: What about LTO? - line 2265: // FIXME: Adding the MergeModuleAction as top-level regardless would - line 2395: // FIXME: This bypasses mechanisms like -v and -###. (SR-12119) - line 2420: // TODO: perform some preflight checks to ensure the file exists. - line 2723: // FIXME: when we're in WMO and have multiple primary outputs, we derive the - line 2916: // FIXME: Figure out how this better fits within the driver infrastructure. - line 3473: // FIXME: We should use the OutputMap in this case. - line 3501: // FIXME: That's not correct if the user /just/ passed -emit-header lib/SILOptimizer/Transforms/SimplifyCFG.cpp (18 lines): - line 333: // FIXME: It would be far more efficient to clone the jump-threaded region using - line 785: // TODO: If BB has only one predecessor and has bb args, fold them away, then - line 1195: // FIXME: findLoopHeaders should not be called repeatedly during simplify-cfg - line 1296: // TODO: OSSA; also handle dead block args that are trivial or destroyed in - line 2152: // TODO: OSSA; handle non-trivial enum case cleanup - line 2219: // TODO: OSSA; cleanup terminator results. - line 2258: // TODO: also remove this EnumInst in OSSA default case when the only - line 2457: // TODO: OSSA; handle cleanups for opaque cases (simplify_cfg_opaque.sil). - line 2667: // TODO: The original convert_function will likely be dead after - line 2732: // TODO: OSSA; cleanup nontrivial terminator operands (if this ever actually - line 2868: // FIXME: Optimize for known switch values. - line 2949: // TODO: Test and enable this case. - line 3037: // TODO: OSSA phi support. Even if all block arguments are trivial, - line 3203: // TODO: We really need some sort of entry point that is more flexible in - line 3216: // TODO: What is the right location to use here. - line 3250: // TODO: OSSA phi support - line 4058: // TODO: OSSA phi support - line 4099: // TODO: should we use ProgramTerminationAnalysis ?. The reason we do not stdlib/public/runtime/Metadata.cpp (18 lines): - line 252: // TODO: internal vs. external layout-complete? - line 281: // TODO: verify mangled names in a second pass in that function. - line 534: // TODO: only memset the parts that aren't covered by the pattern. - line 927: /// TODO: delete the cache entry when initialization is complete. - line 1465: // FIXME: https://bugs.swift.org/browse/SR-1155 - line 3778: // FIXME: If the superclass is not @objc, use native reference counting. - line 3892: // TODO: Or if the box is uniquely referenced. We don't have intimate - line 3919: // TODO: If we were able to claim the value from a uniquely-owned - line 4672: // FIXME: this should use ptrauth_key_process_independent_data - line 4686: // FIXME: this should use ptrauth_key_process_independent_data - line 4758: // FIXME: these should both use ptrauth_key_process_independent_data now. - line 4998: // TODO: There is no metadata flag that directly encodes the "nondependent" - line 5281: // FIXME: This is intended to be a temporary mangling, to be replaced - line 5376: // TODO: Once more than just structs have canonical statically specialized - line 5554: // TODO: it might be worth doing a quick check against the cache here. - line 5559: // TODO: this could be cheap enough. - line 5564: // TODO: this could be cheap enough. - line 5718: // TODO: describe the cycle using notes instead of one huge message? lib/SILOptimizer/Mandatory/AddressLowering.cpp (17 lines): - line 117: // FIXME: this entire implementation only really works for ApplyInst. - line 120: // TODO: MultiValueInstruction - line 277: /// TODO: Perform linear-scan style in-place stack slot coloring by keeping - line 370: /// TODO: shrink lifetimes by inserting alloc_stack at the dominance LCA and - line 471: /// TODO: Handle struct. - line 472: /// TODO: Make this a visitor. - line 550: // TODO: Handle block arguments. - line 551: // TODO: Handle subobjects with a single composition, and other non-mutating - line 683: // TODO: emit tuple_element_addr - line 863: // TODO: Find the try_apply's result block. - line 981: // TODO: insert dealloc in the catch block. - line 991: // TODO: handle bbargs from try_apply. - line 1056: // TODO: handle throws - line 1283: // TODO: generate tuple_element_addr. - line 1438: // TODO: MultiValueInstruction: ApplyInst - line 1506: // FIXME: make sure we cleaned up address-only BB arguments. - line 1508: // TODO: MultiValueInstruction: ApplyInst lib/Sema/CSRanking.cpp (17 lines): - line 161: // FIXME: This is a hack. What we really want is to have substituted the - line 182: // FIXME: Compare base types after substitution? - line 448: // FIXME: This is wrong for type declarations, which we're skipping - line 537: // FIXME: Locator when anchored on a declaration. - line 942: // FIXME: Along with the FIXME below, this is a hack to work around - line 952: // FIXME: This hack tells us to prefer members of subprotocols over - line 1141: // FIXME: The rest of the hack for restating requirements. - line 1175: // FIXME: Lousy hack for ?? to prefer the catamorphism (flattening) - line 1249: // FIXME: We should come up with a better way of doing this, though note we - line 1271: // FIXME: This is really unfortunate. More type variable sharing - line 1295: // FIXME: Collapse this check into the second check. - line 1326: // FIXME: Total hack. - line 1335: // FIXME: - line 1371: // FIXME: All other things being equal, prefer the catamorphism (flattening) - line 1387: // FIXME: There are type variables and overloads not common to both solutions - line 1435: // FIXME: Might want to warn about this in debug builds, so we can - line 1459: // FIXME: Might want to warn about this in debug builds, so we can lib/Sema/PreCheckExpr.cpp (17 lines): - line 454: // TODO: Include all of the possible members to give a solver a - line 537: // FIXME: What if the unviable candidates have different levels of access? - line 543: // FIXME: If any of the candidates (usually just one) are in the same - line 555: // TODO: Name will be a compound name if it was written explicitly as - line 642: // TODO: consider recovering from here. We may want some way to suppress - line 648: // FIXME: Need to refactor the way we build an AST node from a lookup result! - line 654: // FIXME: This is odd. - line 783: // FIXME: If we reach this point, the program we're being handed is likely - line 1126: // FIXME: This is the wrong diagnostic for if someone manually declares a - line 1527: // FIXME: Don't let unbound generic types escape type resolution. - line 1531: // FIXME: Don't let placeholder types escape type resolution. - line 1674: // FIXME: Decide what to do about (). It could be a type or an expr. - line 1756: /*FIXME:colonLoc=*/SourceLoc(), - line 1762: // FIXME: support 'inout', etc. - line 2009: // FIXME: Probably better to catch this case earlier and force-eval as - line 2079: // FIXME: Don't let unbound generic types escape type resolution. - line 2083: // FIXME: Don't let placeholder types escape type resolution. stdlib/public/core/Slice.swift (17 lines): - line 179: // FIXME: swift-3-indexing-model: range check. - line 185: // FIXME: swift-3-indexing-model: range check. - line 191: // FIXME: swift-3-indexing-model: range check. - line 199: // FIXME: swift-3-indexing-model: range check. - line 205: // FIXME: swift-3-indexing-model: range check. - line 251: // FIXME: swift-3-indexing-model: range check. - line 257: // FIXME: swift-3-indexing-model: range check. - line 350: // FIXME: swift-3-indexing-model: range check. - line 364: // FIXME: swift-3-indexing-model: range check. - line 376: // FIXME: swift-3-indexing-model: range check. - line 386: // FIXME: swift-3-indexing-model: range check. - line 397: // FIXME: swift-3-indexing-model: range check. - line 414: // FIXME: swift-3-indexing-model: range check. - line 439: // FIXME: swift-3-indexing-model: range check. - line 460: // FIXME: swift-3-indexing-model: range check. - line 482: // FIXME: swift-3-indexing-model: range check. - line 504: // FIXME: swift-3-indexing-model: range check. lib/Sema/CSDiagnostics.cpp (16 lines): - line 77: // FIXME: Work around an odd locator representation that doesn't separate the - line 231: // TODO: potentially we are tracking more information than we need to here - line 280: // FIXME: Is this intending an exact match? - line 1286: // FIXME: It would be nice to immediately offer "base?.member ?? defaultValue" - line 1372: // FIXME: This walks a partially-type checked function body, which - line 1387: // FIXME: We can see UnresolvedDeclRefExprs here because we have - line 1729: // FIXME: We ought to handle multiple trailing closures here (SR-15054) - line 1752: // FIXME: Cargo-culted from diagnoseAmbiguity: apparently the same decl can - line 2765: // FIXME: The outer parentheses may be superfluous too. - line 2795: // FIXME: The outer parentheses may be superfluous too. - line 4349: // TODO: It would be great so somehow point out which arguments are missing. - line 4362: // TODO: It would be great so somehow point out which arguments are missing. - line 4557: // FIXME: It's possible to parenthesize and relabel the argument list to - line 6595: // TODO: Array splat fix-it once that's supported. - line 6926: // FIXME: We should probably look through the entire member chain so that - line 7776: // FIXME: Parenthesize! stdlib/public/SwiftShims/RefCount.h (16 lines): - line 183: // FIXME: HACK: copied from HeapObject.cpp - line 227: // FIXME: redo this abstraction more cleanly - line 323: // FIXME: reinstate these assertions - line 457: // (FIXME: use something cleaner than sizeof for same-layout test) - line 601: // Unowned: don't care (FIXME: should care and redo initForNotFreeing) - line 737: // FIXME: need to mark these and assert they never get a side table, - line 1020: assert(!oldbits.getIsDeiniting()); // FIXME: make this an error? - line 1066: assert(!oldbits.getIsDeiniting()); // FIXME: make this an error? - line 1079: public: // FIXME: access control hack - line 1187: // FIXME: underflow check? - line 1212: // FIXME: underflow check? - line 1311: // FIXME: does object need to be atomic? - line 1442: // FIXME: assertions - line 1443: // FIXME: optimize barriers - line 1455: // FIXME: assertions - line 1456: // FIXME: optimize barriers lib/Sema/TypeCheckDeclOverride.cpp (16 lines): - line 33: // FIXME: Do we want to allow overriding a function returning a value - line 98: // FIXME: Verify ExtInfo state is correct, not working by accident. - line 281: // FIXME: Refactor to allow that when the minimum version is always satisfied. - line 288: // FIXME: Do we really need this? - line 390: // FIXME: If we ever allow argument reordering, this is incorrect. - line 856: // FIXME: Break the cycle here. - line 900: // FIXME: This suggests we need to use TypeChecker's high-level lookup - line 1408: // FIXME: Check for missing 'override' keyword here? - line 1411: // FIXME: It's weird to be pushing state here, but how do we say that - line 1573: // FIXME: Check that this declaration is at least as available as the - line 1771: // FIXME: This shouldn't be possible once name lookup goes through the - line 1924: // FIXME: Only warn if the extension is in another module, and if - line 1963: // method. TODO: only if it's implicit? But then we need to - line 1980: // FIXME: Customize message to the kind of thing. - line 2000: // FIXME: Possibly should extend to more availability checking. - line 2306: // FIXME: Check storage decls where the setter is in a separate module from lib/Sema/TypeCheckConcurrency.cpp (15 lines): - line 387: // FIXME: technically, synchronous functions are allowed to be cross-actor. - line 733: // FIXME: Note that this @preconcurrency import was "used". - line 745: // FIXME: Note that this @preconcurrency import was "used". - line 843: // FIXME: More detail for unavailable conformances. - line 1110: /// FIXME: the diagnostics engine has a copy of this. - line 1737: // FIXME: should this be covered automatically by the logic below? - line 1755: // FIXME: This really should be modeled by getActorIsolationOfContext. - line 1757: // FIXME: Local functions could presumably capture an isolated - line 1844: // FIXME: Make this diagnostic more sensitive to the isolation context of - line 1879: // FIXME: Protocol extensions need specific handling here. - line 2206: // FIXME: The modeling of unsatisfiedIsolation is not great here. - line 2333: /*FIXME if we get global distributed actors*/false); - line 2729: // FIXME: If isolatedActor has a variable in it, refer to that with - line 3734: // FIXME: do we need this? - line 4111: // FIXME: This is a hack--we should give conformances real availability. tools/SourceKit/lib/SwiftLang/SwiftSourceDocInfo.cpp (15 lines): - line 454: // FIXME: Update PrintOptions::printQuickHelpDeclaration to print implicit - line 484: // FIXME: Update PrintOptions::printQuickHelpDeclaration to print implicit - line 573: // FIXME: Invalid offset shouldn't reach here. - line 1578: /// FIXME: When request cancellation is implemented and Xcode adopts it, - line 1749: // FIXME: Implement tracing - line 1810: /// FIXME: When request cancellation is implemented and Xcode adopts it, - line 1910: // FIXME: return range info for generated interfaces. - line 1946: // FIXME: Should pass the main module for the interface but currently - line 2097: /// FIXME: When request cancellation is implemented and Xcode adopts it, - line 2148: // FIXME: Report it as failed request. - line 2265: // FIXME: Don't silently eat errors here. - line 2343: /// FIXME: When request cancellation is implemented and Xcode adopts it, - line 2412: /// FIXME: When request cancellation is implemented and Xcode adopts it, - line 2475: /// FIXME: When request cancellation is implemented and Xcode adopts it, - line 2552: /// FIXME: When request cancellation is implemented and Xcode adopts it, stdlib/public/Concurrency/TaskGroup.cpp (15 lines): - line 34: #include "queue" // TODO: remove and replace with usage of our mpsc queue - line 93: PollStatus status; // TODO: pack it into storage pointer or not worth it? - line 283: // TODO: move to lockless via the status atomic (make readyQueue an mpsc_queue_t) - line 549: // TODO: figure out a way to try to optimistically take the - line 575: lock(); // TODO: remove fragment lock, and use status for synchronization - line 613: unlock(); // TODO: remove fragment lock, and use status for synchronization - line 624: // TODO: allow the caller to suggest an executor - line 653: unlock(); // TODO: remove fragment lock, and use status for synchronization - line 738: lock(); // TODO: remove group lock, and use status for synchronization - line 756: unlock(); // TODO: remove group lock, and use status for synchronization - line 803: unlock(); // TODO: remove fragment lock, and use status for synchronization - line 814: unlock(); // TODO: remove fragment lock, and use status for synchronization - line 822: unlock(); // TODO: remove fragment lock, and use status for synchronization - line 842: unlock(); // TODO: remove fragment lock, and use status for synchronization - line 882: // FIXME: must also remove the records!!!! lib/Sema/TypeCheckPattern.cpp (15 lines): - line 121: // FIXME: We should probably pay attention to argument labels someday. - line 138: // FIXME: We should probably pay attention to argument labels someday. - line 142: // FIXME: We should be able to tell if this is a private lookup. - line 491: // FIXME: Don't let unbound generic types escape type resolution. - line 495: // FIXME: Don't let placeholder types escape type resolution. - line 530: // FIXME: This shouldn't be needed. It is only necessary because of the - line 612: // FIXME: Don't let unbound generic types escape type - line 616: // FIXME: Don't let placeholder types escape type resolution. - line 828: // FIXME: Don't let unbound generic types escape type resolution. - line 832: // FIXME: Don't let placeholder types escape type resolution. - line 894: // FIXME: Don't let unbound generic types escape type resolution. - line 898: // FIXME: Don't let placeholder types escape type resolution. - line 1126: // FIXME: This call can be removed once pattern binding validation is - line 1183: // TODO: permit implicit conversions? - line 1311: // FIXME: Should we really unconditionally lib/Serialization/SerializedModuleLoader.cpp (15 lines): - line 70: // FIXME: We used to use "major architecture" names for these files---the - line 358: // FIXME: llvm::vfs::FileSystem doesn't give us information on whether or - line 418: // FIXME: Record header dependency? - line 787: // FIXME: This seems wrong. Overlay for system Clang module doesn't - line 903: // FIXME: Dependencies should be de-duplicated at serialization time, - line 919: // FIXME: only show module part of RawAccessPath - line 959: // FIXME: We should include the path of the circularity as well, but that's - line 987: // FIXME: This doesn't handle a non-debugger REPL, which should also treat - line 997: // FIXME: This doesn't handle a non-debugger REPL, which should also treat - line 1016: // FIXME: This doesn't handle a non-debugger REPL, which should also treat - line 1149: // FIXME: Swift submodules? - line 1191: // FIXME: Swift submodules? - line 1210: // FIXME: Swift submodules? - line 1266: // FIXME: Swift submodules? - line 1274: // FIXME: Right now this works only with access paths of length 1. stdlib/public/core/KeyPath.swift (14 lines): - line 241: // TODO: For perf, we could use a local growable buffer instead of Any - line 333: // TODO: With coroutines, it would be better to yield here, so that - line 1607: // TODO: A more efficient way of getting the `none` representation - line 1968: // TODO: we should be able to do this more efficiently than projecting. - line 1972: // FIXME: this needs a deallocation barrier to ensure that the - line 1983: // TODO: we should be able to do this more efficiently than projecting. - line 1987: // FIXME: this needs a deallocation barrier to ensure that the - line 2152: // FIXME: Satisfy "Value generic param not used in signature" constraint - line 2475: // TODO: This retain will be unnecessary once we support global objects - line 2533: // TODO: This retain will be unnecessary once we support global objects - line 2630: // FIXME: Could extract this information from the mangled name. - line 3114: // TODO: Handle over-aligned values - line 3126: // TODO: Handle over-aligned values - line 3214: // FIXME: Handle overalignment lib/SILOptimizer/Utils/InstOptUtils.cpp (14 lines): - line 655: // TODO: This should be in a switchEnum utility. - line 989: /// TODO: figure out why this is needed at all. Probably because of some - line 1133: // FIXME: Expansion - line 1153: // TODO: We should have a DFS utility for this sort of thing so it isn't - line 1181: // TODO: For multi-result instructions, we could simply insert all result - line 1239: /// FIXME: This must be kept in sync with replaceLoadSequence() - line 1286: /// FIXME: this utility does not make sense as an API. How can the caller - line 1550: // FIXME: For any situation where this may be called on an unbounded number of - line 1554: // FIXME: This should almost certainly replace end_lifetime uses rather than - line 1597: #if 0 // FIXME: to be enabled in a following commit - line 1795: // TODO: this currently fails to notify the pass with notifyNewInstruction. - line 1802: // TODO: Generalize this into "get the attached debug info - line 1829: // TODO: Try to merge two op_fragment expressions here. - line 1876: // TODO: this currently fails to notify the pass with notifyNewInstruction. lib/ClangImporter/ImportName.cpp (14 lines): - line 179: // TODO: opt out any non-standard methods here? - line 476: // FIXME: Factory methods cannot have dummy parameters added for - line 502: // FIXME: Could allow a subclass here, but the rest of the compiler - line 616: // FIXME: Until Apple gets a chance to update UIKit's API notes, always use - line 952: // FIXME: This will miss macros. - line 1126: // TODO: this logic doesn't really work with init methods - line 1127: // TODO: this privileges the old API over the new one - line 1291: // FIXME: We might eventually allow this. - line 1292: // TODO: should the restriction be lifted in ClangImporter? - line 1499: // FIXME: ugly to check here, instead perform unified check up front in - line 1612: // FIXME: Make sure this thing is global. - line 1773: // TODO: Handling these is part of C++ interoperability. - line 1969: // FIXME: Record what happened here for the caller? - line 2197: // FIXME: Record that we did this. lib/SIL/Utils/DynamicCasts.cpp (14 lines): - line 35: // FIXME: Disable when we don't support Objective-C interoperability? - line 119: // TODO: If it is a private type or internal type and we - line 132: // TODO: The TypeChecker can easily prove that some requirements cannot be - line 197: // TODO: maybe prove that certain conformances are impossible? - line 325: // TODO: this should handle generic classes properly. - line 498: // TODO: prove that some conversions to existential metatype will - line 500: // TODO: prove that some conversions from class existential metatype - line 502: // TODO: class metatype to/from AnyObject - line 503: // TODO: protocol concrete metatype to/from ObjCProtocol - line 666: // TODO: Narrow this to the sourceClass being exactly NSObject. - line 683: // FIXME: Be more careful with bridging conversions from - line 727: // TODO: Cast to NSError succeeds always. - line 902: // FIXME: Upcasts between existential metatypes are not handled yet. - line 986: // TODO: add an instruction for non-destructively getting a lib/Parse/ParseExpr.cpp (14 lines): - line 606: // FIXME: diagnostics - line 985: // TODO: We could handle try to disambiguate cases like: - line 1048: // TODO: Enable by default at the next source break. (SR-13199) - line 1081: // FIXME: Better recovery. - line 1228: // FIXME: if Result has a trailing closure, break out. - line 1790: // FIXME: offer a fixit: 'Self' -> 'self' - line 1802: // FIXME: Consider lazily encoding the string when needed. - line 1908: // FIXME: This seems like a hack, there must be a better way.. - line 2203: // FIXME: Could recover better if we "know" it's a compound name. - line 2570: ReferenceOwnership::Unowned; // FIXME: No "safe" variant. - line 2891: // FIXME: We could do this all the time, and then provide Fix-Its - line 3096: // FIXME: Introduce new SyntaxKind for ArgumentList (rdar://81786229) - line 3255: // FIXME: Additional trailing closure completion on newline positions. - line 3302: // FIXME: Closure literal completion. lib/Serialization/Serialization.cpp (13 lines): - line 97: // FIXME: Considering BitOffset is a _bit_ offset, and we're storing it in 31 - line 322: // FIXME: Avoid writing string data for identifiers here. - line 1085: // FIXME: This is a hack and calls for a better design. - line 2792: // FIXME: We shouldn't need to encode this for /all/ private decls. - line 3017: // FIXME: Default argument expressions? - line 3083: // FIXME: Substitutions - line 3218: // FIXME: Use the canonical type here in order to minimize circularity - line 3506: // FIXME: Types in the same module are still important for enums. It's - line 3560: // FIXME: Nested types can still be a problem here: it's possible that (for - line 5520: // FIXME: Switch to a visitor interface? - line 5579: // FIXME: We should delay parsing function bodies so these type decls - line 5608: // FIXME: We should delay parsing function bodies so these type decls - line 5740: // FIXME: This is only really needed for debugging. We don't actually use it. lib/Sema/TypeCheckDeclPrimary.cpp (13 lines): - line 303: // FIXME: Check for shadowed protocol names, i.e., NSObject? - line 346: // FIXME: Note pointing to the declaration 'inheritedTy' references? - line 356: // TODO: same ugly hack as Codable does... - line 532: // FIXME: Should restrict this to the source file we care about. - line 571: // FIXME: Breaking a cycle here with hasInterfaceType() is bogus. - line 846: // TODO: We should probably emit a diagnostic note on the lazy - line 1581: // FIXME: If we ever have more attributes, we'll need to sort removedAttrs by - line 2278: // FIXME: Remove this once we clean up the mess involving raw values. - line 2496: // FIXME: This should be a request so we can measure how much work - line 2521: // FIXME: should this really be skipping the rest of decl-checking? - line 2748: /// FIXME: This is an egregious hack to turn off availability checking - line 2862: // FIXME: This needs to be moved to its own request if we want to - line 3240: // FIXME: Consider turning this into a warning or error if we do lib/FrontendTool/LoadedModuleTrace.cpp (13 lines): - line 100: // TODO: Delete this once changes from https://reviews.llvm.org/D83449 land on - line 172: /// FIXME: Delete this hack once SR-13363 is fixed and ModuleDecl has the - line 224: // TODO: Use PrettyStackTrace instead? - line 553: // FIXME: Use the VFS instead of handling paths directly. We are particularly - line 594: // FIXME: Ideally, we would check that the swiftmodule has a - line 598: // FIXME: Better error handling - line 612: // TODO: There is an edge case which is not handled here. - line 617: // TODO: Add negative test cases for the comment above. - line 618: // TODO: Describe precise semantics of "isImportedDirectly". - line 632: // FIXME: Use PrettyStackTrace instead. - line 645: // FIXME: This is incorrect if both paths are not relative w.r.t. to the - line 657: // FIXME: The behavior of fs::exists for relative paths is undocumented. - line 719: // FIXME: rdar://problem/59853077 lib/SILGen/SILGenExpr.cpp (13 lines): - line 1138: // FIXME: Much of this was copied from visitOptionalEvaluationExpr. - line 1565: // TODO: Handle generic instantiations, where we need to eagerly specialize - line 1660: // FIXME: what if other reabstraction is required? - line 2492: // TODO: This is only necessary because constant evaluation requires that - line 2676: // FIXME: Varargs? - line 3312: // TODO: Combine hashes of the indexes using an inout Hasher - line 3395: // TODO: If the getter has shared linkage (say it's synthesized for a - line 3935: // FIXME: Largely copied from SILGenFunction::emitOptionalToOptional. - line 4348: // FIXME: We could avoid imploding and reexploding tuples here. - line 5303: // FIXME: Should check for protocol in Sema - line 5642: // TODO: Implement this. - line 5709: // TODO: Fill this in. - line 5725: // TODO: Could look through arbitrary implicit conversions that don't have lib/Sema/TypeCheckAttr.cpp (13 lines): - line 616: // FIXME: BridgesTypes.def is almost sufficient for this. - line 849: // FIXME: It would be nice to say what part of the requirements actually - line 1743: // FIXME: Not actually a builtin operator, but should probably - line 1751: // FIXME: Should probably be allowed in expression position? - line 2224: // FIXME: Allow an SDK overlay to add a required initializer to a class - line 2399: // FIXME: Once protocols can contain nominal types, do we want to allow - line 3341: // FIXME: The real effect here, though, is dropping the generic signature. - line 3352: // FIXME: does this actually make sense, though? - line 3354: // FIXME: Verify ExtInfo state is correct, not working by accident. - line 3361: // FIXME: Verify ExtInfo state is correct, not working by accident. - line 3375: // FIXME: When compiling without library evolution enabled, this should also - line 4209: // FIXME: Verify ExtInfo state is correct, not working by accident. - line 5981: // TODO: Check the result of the async function matches the parameters lib/Sema/TypeCheckStorage.cpp (13 lines): - line 324: // TODO: Check whether the type is the pattern binding's own opaque type. - line 461: // TODO: arguably this should require the spelling to match even when - line 539: // TODO: use some special DeclBaseName for this? - line 576: // FIXME: Revisit this if we ever get 'real' default implementations. - line 982: // FIXME: Since we're not resolving overloads or anything, we should be - line 1305: // FIXME: Might be better to change walkToDeclPre() and walkToStmtPre() - line 1383: // TODO: This doesn't work with complicated patterns like: - line 2243: // TODO: Replace this check with a broader check that all storage decls - line 2403: // FIXME: This should be folded into the WriteImplKind below. - line 2536: // FIXME: This can have a setter, but we need a resolved wrapper type - line 2616: // FIXME: This can have a setter, but we need a resolved type first - line 2941: // FIXME: Record this expression somewhere so that DI can perform the - line 3284: // FIXME: SIL should not be special cased here. The behavior should be lib/SIL/Utils/OwnershipUtils.cpp (13 lines): - line 105: // TODO: The worklist can be a simple vector without any a membership check if - line 181: // FIXME: visitExtendedScopeEndingUses can't return false here once dead - line 211: // TODO: The worklist can be a simple vector without any a membership check if - line 291: // FIXME: visitExtendedScopeEndingUses can't return false here once dead - line 459: // FIXME: special case for dead borrows. This is dangerous because clients - line 557: // FIXME: this visitScopeEndingUses should never return false once dead - line 795: // TODO: store_borrow is currently an InteriorPointer with no uses, so we end - line 830: // TODO: Partial apply should be NonEscaping, but then we need to consider - line 893: // TODO: Merge this into the full apply site code below. - line 896: // TODO: the empty check should not be needed when dead begin_apply is - line 1064: // FIXME: replace this logic with AccessBase::findOwnershipReferenceRoot. - line 1302: // TODO: Refactor this better. - line 1372: // TODO: Refactor this better. lib/IRGen/GenClass.cpp (13 lines): - line 550: // FIXME: For now we just assume fragile layout here, because this is used as - line 1342: // FIXME: Clang does this by using non-ad-hoc types for ObjC runtime - line 1383: // FIXME: Clang does this by using non-ad-hoc types for ObjC runtime - line 1531: /// TODO: Expand this as appropriate over time. - line 1544: // TODO: Add new cases here as appropriate over time. - line 1573: // FIXME: set ObjCClassFlags::Hidden when appropriate - line 1864: // FIXME: how to handle ivar extensions in categories? - line 1924: // TODO: clang puts this in __TEXT,__objc_methname,cstring_literals - line 1927: // TODO: clang puts this in __TEXT,__objc_methtype,cstring_literals - line 2350: // FIXME: For now, always use the fragile layout when emitting metadata. - line 2408: // FIXME: For now, always use the fragile layout when emitting metadata. - line 2543: // FIXME: If the root class specifies its own runtime ObjC base class, - line 2738: // TODO/FIXME: Using @llvm.type.checked.load loses the "invariant" marker stdlib/public/core/Collection.swift (13 lines): - line 339: // FIXME: ideally this would be in MigrationSupport.swift, but it needs - line 344: // FIXME: Associated type inference requires this. - line 384: // FIXME: Only needed for associated type inference. Otherwise, - line 707: // FIXME: swift-3-indexing-model: tests. - line 718: // FIXME: swift-3-indexing-model: tests. - line 729: // FIXME: swift-3-indexing-model: tests. - line 1067: // TODO: swift-3-indexing-model - review the following - line 1122: // TODO: swift-3-indexing-model - review the following - line 1141: // TODO: swift-3-indexing-model - rename the following to _customIndexOfEquatable(element)? - line 1203: // TODO: swift-3-indexing-model - review the following - line 1546: // TODO: swift-3-indexing-model - review the following - line 1641: // TODO: swift-3-indexing-model - review the following - line 1660: // TODO: swift-3-indexing-model - review the following lib/IRGen/GenProto.cpp (12 lines): - line 647: // TODO: objc metatypes? - line 666: // TODO: if the class pointer is guaranteed, we can do this lazily, - line 1330: // TODO: Use the witness entry instead of falling through here. - line 1432: // FIXME: Add static witness tables for type conformances. - line 1495: // FIXME: If we can directly reference constant type metadata, do so. - line 1646: // TODO: provide an API to find the best metadata path to the conformance - line 2138: // FIXME: Both implementations of ConformanceInfo are trivially-destructible, - line 2173: // FIXME: If we start emitting constant references to here, - line 3010: // TODO: pass something about the root conformance necessary to - line 3048: // TODO: make a best effort to devirtualize, maybe? - line 3089: // FIXME: This has to be done as a formal AST type substitution rather than - line 3530: // TODO/FIXME: Using @llvm.type.checked.load loses the "invariant" marker lib/IRGen/GenFunc.cpp (12 lines): - line 407: /// TODO: May not be fixed-layout if we capture generics. - line 461: // TODO: Support dynamic-sized captures. - line 510: // TODO: Ban `Normal` and `Forward` cases. - line 1257: // FIXME: Maybe cache the thunk by function and closure types?. - line 1287: // TODO: if calleeAFP is definition: - line 1461: // FIXME: The naming and documentation here isn't ideal. This - line 1757: // FIXME: exceptions? - line 1933: // TODO: We can only do this and use swiftself if all our swiftcc emit the - line 2129: // TODO: Give these predictable mangled names and shared linkage. - line 2165: // TODO: Give these predictable mangled names and shared linkage. - line 2302: // TODO: remove this once all platforms support lowering the intrinsic. - line 2471: // TODO: use the Clang type for TaskContinuationFunction* lib/AST/ASTContext.cpp (12 lines): - line 165: // FIXME: This is a StringMap rather than a StringSet because StringSet - line 2023: // TODO: Swift submodules. - line 3079: // FIXME: All methods of non-final classes should have this. - line 4132: // [FIXME: Clang-type-plumbing] - line 4183: // FIXME: If we ever have first-class polymorphic values, we'll need to - line 4280: // FIXME: Any and AnyObject don't yet use ExistentialType. - line 4408: // TODO: We could attempt to preserve type sugar in the substitution map. - line 4458: // FIXME: Opened archetypes can't be transformed because the - line 4814: // FIXME: Layering violation to use the ClangImporter's define. - line 4854: // FIXME: Layering violation to use the ClangImporter's define. - line 4921: // FIXME: We're implicitly depending on the fact that lookupConformance - line 5400: /// TODO: Transitional factory to present the single-type SILBoxType::get lib/SIL/Parser/ParseSIL.cpp (12 lines): - line 542: // FIXME: These are going to come out in nondeterministic order. - line 551: // FIXME: These are going to come out in nondeterministic order. - line 588: // FIXME: Should we move this functionality into SILParserFunctionBuilder? - line 660: // FIXME: Splice the block to the end of the function so they come out in the - line 2069: // FIXME: Check superclass also. - line 4399: // TODO: Check for a type here. This is how tuples with "interesting" - line 4922: // FIXME: substitution means this type should be explicit to improve - line 5234: // TODO: Issue a proper error message here - line 5460: // FIXME: Conformances in InitExistentialRefInst is currently not included - line 6101: // FIXME: Why the arbitrary order difference in IRBuilder type argument? - line 6492: /// FIXME: lookupGlobalDecl() can handle collisions between private or - line 7202: // FIXME: should we really allow a specialized or inherited conformance here? validation-test/Sema/OverridesAndOverloads.swift (11 lines): - line 79: // FIXME: https://bugs.swift.org/browse/SR-731 - line 85: /*FIXME: override */ func foo(_: P1) { which = "Derived.foo(P1)" } - line 96: // FIXME: https://bugs.swift.org/browse/SR-731 - line 102: /*FIXME: override */ func foo(_: P1) { which = "Derived.foo(P1)" } - line 105: // FIXME: https://bugs.swift.org/browse/SR-731 - line 165: // FIXME: https://bugs.swift.org/browse/SR-733 - line 171: /*FIXME: override */ func foo() -> P1x { - line 177: // FIXME: uncomment when the bug is fixed. - line 186: // FIXME: https://bugs.swift.org/browse/SR-733 - line 192: /*FIXME: override */ func foo() -> P1ImplS1 { - line 198: // FIXME: uncomment when the bug is fixed. lib/Sema/MiscDiagnostics.cpp (11 lines): - line 302: // FIXME: Duplicate labels on enum payloads should be diagnosed - line 391: // TODO: warn if taking the address of 'storage' will definitely - line 399: // FIXME: derive this from an attribute instead of hacking it based - line 1645: // FIXME: We could offer a special fixit in the [weak self] case to insert 'self?.'... - line 2099: // TODO: The DiagnoseLifetimeIssuesPass prints a similiar warning in this - line 2460: // FIXME: peek into capture lists of nested functions. - line 2646: // TODO [OPAQUE SUPPORT]: diagnose multiple opaque types - line 3085: /// TODO: Rip this out and just rely on LValueAccessKind. - line 3489: // FIXME: We ought to handle multiple trailing closures here (SR-15055) - line 3676: // FIXME: hadParens - line 4932: // FIXME: It's also possible for access to already be /broader/ than what's lib/Index/IndexRecord.cpp (11 lines): - line 153: // FIXME: if we just passed the original Decl * through we could use that, - line 165: // FIXME: expose errors? - line 190: // FIXME: if we just passed the original Decl * through we could use that, - line 202: // FIXME: expose errors? - line 428: // FIXME: clang's -Rremarks do not seem to go through Swift's - line 495: // FIXME: Would be useful for testing if swift had clang's -Rremark system so - line 563: // FIXME: Get real values for the following. - line 615: // FIXME: Get real values for the following. - line 637: unitWriter.addFileDependency(F, /*FIXME:isSystem=*/false, /*Module=*/nullptr); - line 699: // FIXME: This is not desirable because: - line 739: // FIXME: This is not desirable because: lib/IRGen/GenCall.cpp (11 lines): - line 243: // TODO: Would be nice to have a "getMinimumKnownSize" on TypeInfo for - line 282: // TODO: use a custom CC that returns three scalars efficiently - line 654: // TODO: should we use some sort of real layout here instead of - line 830: // TODO: Direct to Indirect result conversion could be handled in a SIL - line 1743: // FIXME: Claim the SRet for now. The way we have set up the function type to - line 2398: thickContext = nullptr; // TODO: this should go - line 2686: // TODO: use the Clang type for TaskContinuationFunction* - line 2800: // TODO: exceptions! - line 2914: // TODO: SIL address lowering should be able to handle such cases earlier. - line 4035: // TODO: Handle async! - line 4813: // FIXME: Cache async signature. lib/SIL/IR/OperandOwnership.cpp (11 lines): - line 125: // FIXME: The assert should be moved to the verifier. - line 238: // TODO: verify that BitwiseEscape results always have a trivial type. - line 255: // TODO: Should this be a forwarding consume. - line 270: // FIXME: HopToExecutorInst should be an instantaneous use. - line 279: // FIXME: OpenExistential[Box]Value should be able to take owned values too by - line 351: // TODO: Aggregate operations should be Reborrows, not ForwardingBorrows, - line 415: // FIXME: remove this special case once all aggregate operations behave just - line 591: // FIXME: Add an end_dependence instruction so we can treat mark_dependence as - line 809: // FIXME: These are considered InteriorPointer because they may propagate a - line 823: // FIXME: These are considered InteriorPointer because they may propagate a - line 866: // FIXME: ConvertTaskToJob is documented as taking NativePointer. It's operand's lib/SILOptimizer/Transforms/EagerSpecializer.cpp (11 lines): - line 28: /// TODO: We have not determined whether to support inexact type checks. It - line 169: /// TODO: Move this to Utils. - line 208: /// TODO: Move this to Utils. - line 236: // TODO: Introduce a proper way to express such a cast. - line 553: // TODO: Perform this check before all the fixed size checks! - line 577: // TODO: Perform this check before all fixed size checks. - line 578: // FIXME: What builtin do we use to check it???? - line 721: // FIXME: If type of CastArg is an archetype, but it is loadable because - line 748: // FIXME: This should be a function transform that pushes cloned functions on - line 835: // TODO: Use a decision-tree to reduce the amount of dynamic checks being - line 871: // TODO: Optimize the dispatch code to minimize the amount lib/SILOptimizer/Mandatory/PredictableMemOpt.cpp (11 lines): - line 1073: // TODO: There should be a better way of doing this than doing a copy + sort. - line 1487: // TODO: Is this needed now? - line 1575: // TODO: This is /really/, /really/, conservative. This basically - line 1643: // TODO: inout apply's should only clobber pieces passed in. - line 1892: // FIXME: This is not an aggressive implementation. :) - line 1894: // TODO: At some point, we should special case closures that just *read* from - line 2437: // TODO: It should be implementable, but it has not been needed yet. - line 2655: // FIXME: This doesn't handle situations where non-consuming uses are in - line 2707: // TODO: Can we just pass this in to findJointPostDominatingSet instead - line 2938: /// FIXME: This pass should not need to rerun on deserialized - line 2944: // TODO: Can we invalidate here just instructions? lib/SILGen/SILGenConvert.cpp (11 lines): - line 37: // FIXME: With some changes to their callers, all of the below functions - line 51: // TODO: honor +0 contexts? - line 284: // TODO: Make this take optTL. - line 322: // TODO: should this be a general thing for all conversions? - line 418: // TODO: use the SGFContext passed in. - line 1117: // TODO: take advantage of borrowed inputs? - line 1211: // TODO: handle reabstraction conversions here, too. - line 1320: // TODO: maybe other class existentials? Existential conversions? - line 1408: // TODO: maybe peephole bridging through a Swift type? - line 1469: // TODO: use special SILGen to preserve semantics in this case, - line 1562: // TODO: if the context allows +0, use it in more situations. include/swift/SIL/SILInstruction.h (11 lines): - line 643: /// TODO: We need side-effect analysis and library annotation for this to be - line 2355: // if it is, so pull it out. TODO: just fix LLVM. - line 2698: /// FIXME: Could this be standardized? It has and will lead to bugs. IMHO. - line 3844: // FIXME: This constructor should be private but is currently used - line 3869: /// TODO: in future we might support global variables in general. - line 4102: // FIXME: this does not return all instructions that end a local borrow - line 4206: /// TODO: Once this changes, this code must be update. - line 4244: /// TODO: maybe add InitiallyStatic for when the access is statically - line 6260: /// FIXME: This is used to interoperate with passes that reasoned about the - line 6547: /// FIXME: This cache may not be necessary if the Decl TypeChecker instead - line 8580: // FIXME: This should use llvm::TrailingObjects, but it has subclasses lib/SILOptimizer/Analysis/AliasAnalysis.cpp (10 lines): - line 165: /// FIXME: function_ref? - line 259: // FIXME: The only way this should happen realistically is if there are - line 279: // TODO: Replace this with a check on the computed subseq relation. See the - line 280: // TODO in computeSubSeqRelation. - line 359: // TODO: MultiValueInstruction - line 378: // FIXME: add ref_element_addr check here. TBAA says that objects cannot be - line 444: // FIXME: We could be significantly smarter here by using the protocol - line 484: // FIXME: All the code following could be made significantly more aggressive - line 668: // TODO: remove this check once ARCSequenceOpt is retired or the quadratic - line 764: // TODO: Handle @inout arguments by iterating over the apply arguments. For lib/SILOptimizer/Transforms/SILCodeMotion.cpp (10 lines): - line 341: // FIXME: Can we ever not be the false BB here? - line 366: // TODO: I am writing this too fast. Clean this up later. - line 645: // TODO: We need information from the ARC optimizer to prove that property - line 794: // TODO: Which debug loc should we use here? Using one of the locs from the - line 1072: // TODO: Add more cases than Struct - line 1100: // TODO: Sink more than just integers. - line 1166: // TODO: MultiValueInstruction? - line 1259: // TODO: MultiValueInstruction - line 1514: // TODO: I am currently just disabling this behavior so we can get this out - line 1556: // TODO: More general conditions in which we can relate the BB to a single tools/SourceKit/lib/SwiftLang/SwiftCompletion.cpp (10 lines): - line 58: // FIXME: The leading punctuation (e.g. "?." in an optional completion) - line 156: // FIXME: this adhoc filtering should be configurable like it is in the - line 211: // FIXME: the use of None as primary file is to match the fact we do not read - line 410: Info.Kind = PatternUID; // FIXME: add a UID for operators - line 600: // FIXME: should warn about unexpected keyword kind. - line 780: // FIXME: disallow unnamed parameters without underscores `foo(::)`. - line 847: // FIXME: hide individual custom completions - line 1040: // FIXME: Clearing the flair (and semantic context) is a hack so - line 1117: // FIXME: the use of None as primary file is to match the fact we do not read - line 1242: // FIXME: consider whether CCOpts has changed since the 'open'. lib/AST/ConformanceLookupTable.cpp (10 lines): - line 160: // FIXME: This could be lazier. - line 188: // FIXME: This could be lazier. - line 486: /// FIXME: Avoid the possibility of an infinite loop by fixing the root - line 536: // FIXME: Conformance lookup should really depend on source location for - line 581: // FIXME: Deterministic ordering. - line 670: // FIXME: Only because we're synthesizing conformances for deserialized - line 787: // FIXME: Ambiguity detection and resolution. - line 794: // FIXME: This is a hack because the inherited conformances aren't - line 828: // FIXME: This is a hack to ensure that inherited conformances are - line 1066: // FIXME: sort the protocols in some canonical order? tools/SourceKit/lib/SwiftLang/SwiftASTManager.cpp (10 lines): - line 136: // FIXME: This ties ASTs to every argument and the exact order that they were - line 584: /// FIXME: Once we no longer support implicit cancellation using - line 811: // FIXME: Is there a way to get timestamp and buffer for a file atomically ? - line 950: // FIXME: ImportFilterKind::ShadowedByCrossImportOverlay? - line 958: // FIXME: Setup dependencies on the included headers. - line 966: // FIXME: Handle modules with multiple source files; these will fail on - line 1052: // FIXME: Report the diagnostic. - line 1071: // FIXME: There exists a small window where the module file may have been - line 1081: // FIXME: Any error anywhere in the SourceFile will switch off SIL - line 1093: // FIXME: We should run SIL diagnostics asynchronously after typechecking lib/Driver/Compilation.cpp (10 lines): - line 196: // TODO: set up Outputs appropriately. - line 374: // FIXME: Failing here should not take down the whole process. - line 422: // TODO: properly handle task began. - line 756: /// FIXME: too much global state floating around, e.g. - line 890: // FIXME: We should be able to ditch this if we compare the timestamps - line 971: // FIXME: We can probably do better here! - line 1354: // FIXME: Error from task queue while Result == EXIT_SUCCESS most - line 1619: // FIXME: How should we report this error? - line 1664: // FIXME: Duplicated from ToolChains.cpp. - line 1885: // FIXME: This should not take down the entire process. lib/FrontendTool/FrontendTool.cpp (10 lines): - line 383: // FIXME: calculate these in constant time, via the dense maps. - line 472: // TODO: Translate from the diagnostic info to the SourceManager location - line 662: // FIXME: It seems more appropriate for the driver to notice the early-exit - line 811: // FIXME: Whole-module outputs with a non-whole-module action ought to - line 1041: // FIXME: This predicate matches the status quo, but there's no reason - line 1045: // TODO: indexing often crashes when interop is enabled (rdar://87719859). - line 1210: // FIXME: -dump-ast expects to be able to write output even if type checking - line 1422: // FIXME: This would be a good test of the interface format. - line 1678: // TODO: at this point we need to flush any the _tracing and profiling_ - line 1731: // FIXME: provide index unit token(s) explicitly and only use output file lib/SIL/Utils/MemAccessUtils.cpp (10 lines): - line 235: // FIXME: This relatively expensive pointer getAnyPointerElementType check - line 358: // TODO: When the optimizer stops stripping begin_access markers and SILGen - line 401: // TODO: check side effect analysis - line 418: // TODO: It is possible to do better here by looking at the address that is - line 901: /// TODO: Add a component path to a ReferenceRoot abstraction and handle - line 1734: // FIXME: Reuse getAccessProjectionOperand() instead of using special cases once - line 1841: // FIXME: if this doesn't go away with opaque values, add a new instruction - line 1955: // TODO: handle non-escaping partial-applies just like a full apply. The - line 2129: // TODO: Can we expand this? - line 2589: // TODO: Is this correct? lib/SILOptimizer/Utils/ConstExpr.cpp (10 lines): - line 43: // TODO: ConstantTracker in the performance inliner and the - line 369: // TODO: If this is a single element struct, we can avoid creating an - line 521: // TODO: Certain covariant or otherwise ABI-compatible conversions should - line 564: // TODO: Could add a "value used here" sort of diagnostic. - line 572: // TODO: We can/should diagnose statically detectable integer overflow - line 946: // TODO: the top-level mode in the interpreter should be phased out. - line 1449: // TODO: Allow BeginAccess/EndAccess users. - line 2034: // TODO: implement caching. - line 2035: // TODO: reject code that is too complex. - line 2076: // TODO: Handle caching of results. lib/SILGen/SILGenDistributed.cpp (10 lines): - line 99: ctx.getProtocol(KnownProtocolKind::Encodable); // FIXME: actually use SerializationRequirement - line 103: ctx.getProtocol(KnownProtocolKind::Decodable); // FIXME: actually use SerializationRequirement - line 862: // FIXME: this is wrong for struct with values, and classes? - line 1097: // FIXME: something is off here - line 1128: ctx.getProtocol(KnownProtocolKind::Decodable); // FIXME: actually use SerializatioNRequirement - line 1135: KnownProtocolKind::Encodable); // FIXME: actually use SerializatioNRequirement - line 1251: // FIXME: actually use SerializationRequirement - line 1256: // FIXME: actually use SerializationRequirement - line 1498: // FIXME: these are very hacky, how to do properly? - line 1523: // FIXME: these are very hacky, how to do properly? lib/ClangImporter/SwiftLookupTable.cpp (10 lines): - line 314: // FIXME: Search imported modules to resolve the context. - line 473: // FIXME: What if there are /multiple/ old definitions we should be - line 1598: // FIXME: Clang should help us out here, but it doesn't. It can only give us - line 1643: // FIXME this drops the error on the floor. - line 1664: // FIXME this drops the error on the floor. - line 1677: // FIXME this drops the error on the floor. - line 1751: // FIXME this drops the error on the floor. - line 1874: // FIXME: At some point we probably want to be importing incomplete types, - line 1978: // FIXME: "public" visibility macros should actually be added to the - line 2048: // FIXME: Can we avoid processing these decls in the first place? lib/SILOptimizer/Mandatory/AccessEnforcementSelection.cpp (9 lines): - line 16: /// TODO: This is currently a module transform so that it can process closures - line 30: /// FIXME: handle boxes used by copy_value when neither copy is captured. - line 48: // TODO: delete if we're not using static enforcement? - line 55: // TODO: delete if we're not using dynamic enforcement? - line 65: // TODO: Verify somewhere that we properly handle any non-inout_aliasable - line 223: // FIXME: This should cover a superset of AllocBoxToStack's findUnexpectedBoxUse - line 577: /// TODO: Make this a "ClosureTransform". See the file-level comments above. - line 681: // TODO: use static enforcement in certain provable cases. - line 717: // FIXME: When we have borrowed arguments, a "read" needs to be enforced lib/SILGen/SILGenConstructor.cpp (9 lines): - line 61: // FIXME: Consolidate this with SILGenProlog - line 162: // FIXME: Handle 'self' along with the other arguments. - line 585: // FIXME: Handle 'self' along with the other body patterns. - line 598: // TODO: allow custom allocation? - line 599: // FIXME: should have a cleanup in case of exception - line 708: // TODO: If we could require Objective-C classes to have an attribute to get - line 744: // FIXME: Handle self along with the other body patterns. - line 912: // SEMANTIC ARC TODO: When the verifier is complete, we will need to - line 977: // FIXME: Can emitMemberInit() share code with InitializationForPattern in lib/IRGen/GenExistential.cpp (9 lines): - line 790: /* FIXME -- Use REF_STORAGE_HELPER and make */ \ - line 1003: /// FIXME: Assumes the explosion is broken into word-sized integer chunks. - line 1019: // FIXME: Assumes the payload is word-chunked. Should use - line 1540: // TODO: There are spare bits we could theoretically use in the type metadata - line 1649: // TODO: Non-ErrorType boxed existentials. - line 1703: // TODO: Non-Error boxed existentials. - line 1718: // TODO: When there's a store or copy_addr immediately into the box, peephole - line 1743: // TODO: Non-Error boxed existentials. - line 1903: // TODO: Non-Error boxed existentials. lib/IDE/FuzzyStringMatcher.cpp (9 lines): - line 38: // FIXME: pull out the magic constants. - line 192: // FIXME: path separators would be handled here, jumping straight to the last - line 259: // FIXME: update output ranges, if necessary - line 405: // FIXME: this can happen spuriously in foo => ufDownOb. - line 411: // FIXME: this code is largely duplicated with the previous block. There are - line 489: // FIXME: using the range up to a dot is silly when candidate isn't a file. - line 494: // FIXME: file type bonus if we're checking a file path. - line 513: // FIXME: popular/unpopular API. - line 533: // FIXME: matched ranges output. lib/SILGen/SILGen.cpp (9 lines): - line 1103: // TODO: Handle main SourceFile emission (currently done by - line 1285: // TODO: If posssible, change `autodiff::getLoweredParameterIndices` to - line 1407: // FIXME: Handle 'self' like any other argument here. - line 1504: /// TODO: This needs a better name. - line 1692: // FIXME: Add proper location. - line 1844: // TODO: Key path code emission doesn't handle opaque values properly yet. - line 1855: // TODO: Static properties should eventually be referenceable as - line 1863: // TODO: Global variables should eventually be referenceable as - line 2142: // FIXME: Delayed parsing would prevent these types from being added to lib/AST/RequirementMachine/RequirementLowering.cpp (9 lines): - line 85: // FIXME: Record concrete type conflict, diagnose upstream - line 93: // FIXME: Record redundancy and diagnose upstream - line 101: // FIXME: Perform unification, diagnose redundancy or conflict upstream - line 112: // FIXME: Diagnose redundancy or conflict upstream - line 127: // FIXME: Check conformance, diagnose redundancy or conflict upstream - line 224: // FIXME: Diagnose - line 324: // FIXME: Inaccurate TypeReprs. - line 763: // FIXME: For now we just fall back to the GSB for all protocols - line 968: // FIXME: Preserve source location information for diagnostics. stdlib/public/Concurrency/Task.cpp (9 lines): - line 229: // TODO: allow waiters to fill in a suggested executor - line 371: // TODO: set something in the status? - line 373: // TODO: notify the parent somehow? - line 374: // TODO: remove this task from the child-task chain? - line 545: // TODO: Actually digest the result buffer into the async let task - line 639: // TODO (rokhinip): Figure out the semantics of the job priority and where - line 810: // FIXME: if we store a null pointer here using the standard ABI for - line 1130: // TODO: maybe in some mode we should set the status to Resumed here - line 1226: // FIXME: consider implementing a concurrent global main queue for tools/SourceKit/lib/SwiftLang/CodeCompletionOrganizer.cpp (9 lines): - line 96: // FIXME: because other-module results are cached, they will not be - line 246: // FIXME: unicode - line 430: // FIXME: individual custom completions - line 447: // FIXME: try each submodule chain starting from the most specific. - line 662: return ResultBucket::Normal; // FIXME: take best contained result. - line 846: return true; // FIXME: should have a semantic context for groups. - line 1039: // FIXME: this is wrong, we should try to sub-group. - line 1140: // FIXME: this works around the fact we're producing invalid completion - line 1272: // FIXME: should we try to choose a delimiter if there is more than one? stdlib/public/core/VarArgs.swift (9 lines): - line 203: // FIXME: Use some Swift equivalent of NS_RETURNS_INNER_POINTER if we get one. - line 217: // FIXME: use UnsafeMutablePointer.assign(from:) instead of memcpy. - line 256: // FIXME: alignof differs from the ABI alignment on some architectures - line 310: // FIXME: alignof differs from the ABI alignment on some architectures - line 392: // FIXME: alignof differs from the ABI alignment on some architectures - line 409: // FIXME: alignof differs from the ABI alignment on some architectures - line 427: // FIXME: alignof differs from the ABI alignment on some architectures - line 635: // FIXME: this should be packaged into a better storage type - line 694: // FIXME: alignof differs from the ABI alignment on some architectures lib/AST/RequirementMachine/PropertyUnification.cpp (9 lines): - line 177: // FIXME: Need a rewrite path here. - line 201: // FIXME: Need a rewrite path here. - line 224: // FIXME: Need a rewrite path here. - line 275: // FIXME: Diagnose the conflict - line 334: // FIXME: Diagnose the conflict. - line 651: // FIXME: Either remove the ModuleDecl entirely from conformance lookup, - line 668: // FIXME: Diagnose conflict - line 686: // FIXME: Maybe this can happen if the concrete type is an - line 1080: // FIXME: Do we need a rewrite path here? lib/ClangImporter/ImportMacro.cpp (9 lines): - line 49: // FIXME: Duplicated from ImportDecl.cpp. - line 92: // FIXME: remove this when the following radar is implemented: - line 159: // TODO: Other numeric literals (complex, imaginary, etc.) - line 243: // TODO: char literals. - line 447: // FIXME: Ask Clang to try to parse and evaluate the expansion as a constant - line 452: // TODO: or . - line 487: // FIXME: This was clearly intended to pass the cast type down, but - line 494: // FIXME: If the identifier refers to a declaration, alias it? - line 725: // FIXME: Handle BIT_MASK(pos) helper macros which expand to a constant? lib/SILOptimizer/Mandatory/DefiniteInitialization.cpp (9 lines): - line 623: // FIXME: critical edges? - line 763: // TODO: Given that we know the range of elements being accessed, we don't - line 803: // TODO: The QoI could be improved in many different ways here. For example, - line 1072: // FIXME: This is a hack because DI is not understanding SILGen's - line 1170: // FIXME: Semantically, we're "opening" the class metatype here to produce - line 1911: // TODO: Implement the SILGen fixes so this can be removed. - line 1960: // TODO: Could handle many other members more specifically. - line 2192: /// TODO: In the "No" case, we can emit a fixit adding a default initialization - line 2574: // FIXME: AddrI will not be deleted (nor its operands) when Release is lib/SILOptimizer/Mandatory/CapturePromotion.cpp (9 lines): - line 85: /// TODO: If this sticks around, maybe we'll make a BitMatrix ADT. - line 204: /// FIXME: Computing global reachability requires initializing an N^2 - line 838: // TODO: This seems overly limited. Why not projections of tuples and other - line 905: // TODO: Is it correct to treat this like an escape? We are just currently - line 937: // TODO: handle address-only types - line 938: // FIXME: Expansion - line 1099: // TODO: Can we ever hit copy_values here? If we do, we may be missing - line 1232: /// promote to a by value capture. Emit a nice warning (FIXME: error) to warn - line 1522: // TODO: If this is the last use of the closure, and if it has internal lib/LLVMPasses/LLVMARCOpts.cpp (9 lines): - line 267: // FIXME: Call classifier should identify the object for us. Too bad C++ - line 351: // TODO: Strengthen analysis. - line 361: // TODO: This is not safe without proving the object being released is not - line 398: // TODO: This is where we'd plug in some global algorithms someday. - line 420: // FIXME: Call classifier should identify the object for us. Too bad C++ - line 521: // TODO: This is where we'd plug in some global algorithms someday. - line 570: // FIXME: Would like to abstract the dtor slot (#0) out from this to somewhere - line 665: // TODO: We could in the future return more accurate information by - line 931: // TODO: This is a really trivial local algorithm. It could be much better. lib/Sema/ImportResolution.cpp (9 lines): - line 367: // FIXME: We'd like to only use this in SIL mode, but unfortunately we use it - line 503: // TODO: Support cross-module imports. - line 598: // FIXME: Having these two calls in this if condition seems dubious. - line 674: // FIXME: Once @_implementationOnly is a real feature, we should have a fix-it - line 873: // FIXME: Doesn't handle scoped testable imports correctly. - line 892: // FIXME: print entire module name? - line 993: // FIXME: There is a fundamental problem with this find-as-we-go approach: - line 1019: // FIXME: Should we warn if M doesn't reexport underlyingModule? - line 1158: // FIXME: namelookup::getAllImports() doesn't quite do what we need (mainly lib/SILOptimizer/Utils/CanonicalizeInstruction.cpp (9 lines): - line 147: // TODO: Consider handling LoadBorrowInst. - line 166: // TODO: To handle a "take", we would need to generate additional destroys - line 253: // TODO: This logic subtly anticipates SILGen behavior. In the future, change - line 304: // FIXME: This drops debug info at -Onone load-splitting is required at - line 347: // FIXME: remove this temporary hack to advance the iterator beyond - line 365: // TODO: supporting enums here would be very easy. The main thing is adding - line 445: /// FIXME: This removes debug_value instructions aggressively as part of - line 453: /// FIXME: Technically this should be guarded by a compiler flag like - line 578: // TODO: fix tryEliminateUnneededForwardingInst to handle debug uses. lib/IRGen/GenCast.cpp (9 lines): - line 64: // TODO: attempt to specialize this based on the known types. - line 106: // TODO: use ObjC class references - line 146: /*TODO , SILLocation location*/) - line 150: // TODO: Pass along location info if available for unconditional casts, so - line 424: // FIXME: Eventually, we may want to throw. - line 491: // TODO: Final class metatypes could in principle be thin. - line 941: // TODO: In existential-to-existential casts, we should carry over common - line 974: // TODO: Move this assertion up to apply to all checked cast operations. - line 1015: // TODO: if we're casting to an existential type, don't throw away the lib/Sema/TypeCheckDeclObjC.cpp (8 lines): - line 439: // FIXME: Substitution map? - line 456: // FIXME: Consider whether to limit @objc on global-actor-qualified - line 1537: // FIXME: Use shouldMarkAsObjC once it loses it's TypeChecker argument. - line 1618: // FIXME: Revisit this restriction. - line 2024: // FIXME: We should have a class-based table to check for conflicts. - line 2269: // FIXME: This isn't a total ordering. - line 2499: // FIXME: This is gross and nondeterministic. - line 2585: // FIXME: Also look in superclasses? lib/AST/ProtocolConformance.cpp (8 lines): - line 66: // FIXME: Implement! - line 165: // FIXME: Shouldn't this be a hard error? - line 308: // FIXME: We could return a meaningful GenericEnvironment here - line 367: // FIXME: The AST should do this for us. - line 455: // FIXME: Looking at the type is not the right long-term solution. We need an - line 857: // FIXME: Eliminate this, perhaps by adding a variant of - line 1102: // FIXME: substitutions? - line 1134: // FIXME: Implement me! include/swift/Sema/ConstraintSystem.h (8 lines): - line 1083: /// FIXME: This is an awful data structure. We want the equivalent of a - line 2215: /// TODO: This should probably go away entirely. - line 3007: // FIXME: Perhaps these belong on ConstraintSystem itself. - line 3069: /// FIXME: This caching should almost certainly be performed at the - line 3176: // FIXME: lvalue differences - line 4557: public: // FIXME: public due to statics in CSSimplify.cpp - line 4896: public: // FIXME: Public for use by static functions. - line 5627: // FIXME: All three of the accessors below are required to support lib/SILOptimizer/Utils/CanonicalizeBorrowScope.cpp (8 lines): - line 13: /// TODO: Enable -canonical-ossa-rewrite-borrows by default (see - line 16: /// TODO: Add support for load_borrows, and reborrows by using persistentCopies. - line 18: /// TODO: Hoist struct/tuple with multiple operands out of borrow scopes if that - line 79: /// TODO: - line 87: // TODO: check other operands for dominance and even attempt to hoist them. - line 164: // TODO: Canonicalize load_borrow scope and phi once consolidateBorrowScope - line 331: // FIXME: visitExtendedScopeEndingUses can't return false here once dead - line 741: // TODO: Canonicalize multi-block borrow scopes, load_borrow scope, and phi lib/Parse/ParseDecl.cpp (8 lines): - line 1037: // TODO: Change this to an error once clients have migrated to 'reverse'. - line 1223: // TODO: Change this to an error when clients have migrated to 'reverse'. - line 1308: // FIXME: It is wrong to backtrack parsing the entire base type if an accessor - line 3606: // TODO: Change this to an error once clients have migrated to 'reverse'. - line 4584: // TODO: Emit dedicated errors for them. - line 5820: // FIXME: Allow class requirements here. - line 5934: /*FIXME FuncLoc=*/DeclLoc, - line 6984: // FIXME -- offer a fixit to explicitly specify the type lib/SILOptimizer/Transforms/DeadObjectElimination.cpp (8 lines): - line 92: // FIXME: When destructors get moved into vtables, update this to use the - line 265: // TODO: when we have OSSA, we can also accept stores of non trivial values: - line 449: // TODO: in OSSA we can replace stores to properties with a destroy_value. - line 469: /// TODO: Use this to remove nontrivial dead alloc_ref/alloc_stack, not just - line 771: // FIXME: We should support ownership eventually. - line 808: // TODO: We should be able to handle destructors that do nothing but release - line 876: // TODO: don't bail but insert compensating destroys for such operands. - line 942: // TODO: This relies on the lowest level array.uninitialized not being lib/AST/NameLookup.cpp (8 lines): - line 226: /// FIXME: Avoid the possibility of an infinite loop by fixing the root - line 608: // FIXME: The type of a variable or subscript doesn't include - line 2007: // FIXME: Ad hoc recursion breaking, so we don't look through the - line 2343: // FIXME: In the long run, we shouldn't need this. Non-syntactic results - line 2362: // FIXME: In the long run, we shouldn't need this. Non-syntactic results - line 2742: // FIXME: This is a hack. We need cooperation from - line 2777: // FIXME: Refactor SelfBoundsFromWhereClauseRequest to dig out - line 2819: // FIXME: This is currently required to set the interface type of the lib/Frontend/Frontend.cpp (8 lines): - line 709: // FIXME: The fact that this test happens twice, for some cases, - line 730: // FIXME: Working with filenames is fragile, maybe use the real path - line 837: // FIXME: Knowledge of SwiftOnoneSupport loading in the Frontend is a layering - line 906: // FIXME: The canImport check is required for compatibility - line 1014: // FIXME: This is the only demand point for InputSourceCodeBufferIDs. We - line 1169: // FIXME: Once deserialization loads all the modules it needs for cross - line 1324: // TODO: handle non-ObjC based stdlib builds, e.g. on linux. - line 1335: // FIXME: calculate these in constant time, via the dense maps. lib/Sema/TypeCheckNameLookup.cpp (8 lines): - line 195: // FIXME: the "isa()" check will be wrong for - line 324: // FIXME: Fix the problem where if NominalTypeDecl::getAllProtocols() - line 510: // FIXME: This is an error path. Should we try to recover? - line 543: // TODO: consider arguments. - line 544: // TODO: maybe ignore certain kinds of missing / present labels for the - line 546: // TODO: word-based rather than character-based? - line 589: // TODO: honor ref kind? This is trickier than it sounds because we - line 729: // TODO: add fix-its for typo'ed argument labels. This is trickier lib/Frontend/ModuleInterfaceLoader.cpp (8 lines): - line 587: // FIXME: Would it be possible to only have architecture-specific names - line 840: // FIXME: We need to avoid re-statting all these dependencies, otherwise - line 1232: // FIXME: We really only want to serialize 'important' dependencies here, if - line 1252: // FIXME: We really only want to serialize 'important' dependencies here, if - line 1386: // FIXME We should diagnose this at a location that makes sense: - line 1465: // FIXME: we shouldn't need this. Remove it? - line 1481: // FIXME: With Implicit Module Builds, if sub-invocations inherit `-fmodule-map-file=` options, - line 1843: // FIXME: Swift submodules? lib/IRGen/IRGen.cpp (8 lines): - line 163: // FIXME: We should do this entirely through Clang, for consistency. - line 325: // TODO: Surface the option to emit atomic profile counter increments at - line 488: // FIXME: calculate these in constant time if possible. - line 804: // FIXME: This is gross. This needs to be done in the Frontend - line 1165: // TODO: Turn the module hash into an actual output. - line 1333: // TODO: Check this already at argument parsing. - line 1491: // TODO: Parallel LLVM compilation cannot be used if a (single) module is - line 1620: // TODO: Use compileAndWriteLLVM. lib/IRGen/GenType.cpp (8 lines): - line 1307: // FIXME: this is little-endian - line 1531: // TODO: it's likely that this never matters in the current ABI, - line 1545: // FIXME: this is not what we use in getWitnessTablePtrTypeInfo() - line 1673: // TODO: It is possible to retain and release task pointers, which means - line 1870: // FIXME: A generic SILFunctionType should not contain any nondependent - line 2470: // FIXME: this isn't really inherently good; we might want to use - line 2582: // FIXME: Currently we only implement spare bits for primitive integer - line 2587: // FIXME: byte swap v on big-endian platforms. lib/Sema/CSBindings.cpp (8 lines): - line 411: // FIXME: This is a workaround necessary because solver doesn't filter - line 444: // TODO: We shouldn't need this in the future. - line 857: // FIXME: This assumes that, e.g., the default literal - line 863: // FIXME: Check parents? - line 913: // FIXME: This is really crappy special case of computing a reasonable - line 1718: // FIXME: Can also weaken to the set of protocol constraints, but only - line 1725: // FIXME: lots of other cases to consider! - line 1878: // FIXME: This check could be turned into an assert once lib/SIL/IR/SILPrinter.cpp (8 lines): - line 125: // FIXME: instead of resetColor(), we can look into - line 249: // FIXME: Represent "init" by a special name and remove this case - line 929: // FIXME: conformances should always be printed and parsed! - line 1253: // FIXME: Can we generalize this special handling for VarDecl - line 1359: // FIXME: This is a hack to cope with cases where the substitution map uses - line 1524: // FIXME: this isn't correct: this doesn't properly handle translating - line 2998: // TODO: Handle clang node owners which don't have a name. - line 3375: // FIXME: ExplodePatternBindingDecls is incompatible with VarInitializers! lib/Frontend/ModuleInterfaceSupport.cpp (8 lines): - line 187: // FIXME: This is very similar to what's in Serializer::writeInputBlock, but - line 267: // FIXME: Copied from ASTPrinter.cpp... - line 279: // FIXME: If we have an internal typealias for a non-internal type, we ought - line 327: // FIXME: This is just approximating the effects of nested availability - line 388: // FIXME: This ignores layout constraints, but currently we don't support - line 426: // FIXME: This ignores layout constraints, but currently we don't support - line 561: // FIXME: This will pick the availability attributes from the first sight - line 611: // FIXME: Shouldn't this be an implicit conversion? include/swift/AST/Decl.h (8 lines): - line 1463: /// FIXME: In a world where protocol extensions are dynamically dispatched, - line 1591: // FIXME: This API is transitional. Once the callers of - line 2417: /// FIXME: This is deprecated. - line 3553: /// FIXME: This method presents a problem with respect to the consistency - line 6311: // FIXME: Hack that provides names with keyword arguments for accessors. - line 6346: // FIXME: Remove 'Parsed' from this list once we can always delay - line 7176: /// itself. FIXME: However, this is only a presentation form, and at present - line 7180: /// FIXME: Arguably, structs and enums only have factory initializers, and lib/SILOptimizer/Utils/Generics.cpp (8 lines): - line 695: // TODO: We could also convert multiple indirect results by returning a - line 947: // FIXME: Second type of a superclass requirement may contain - line 994: // FIXME: Second type of a superclass requirement may contain - line 1038: /// TODO: - line 1123: // TODO: If Replacement add a new layout constraint, then - line 2316: /// FIXME: Remove this if we don't need to create reabstraction thunks after - line 2353: // FIXME: This only handles a single result! Partial specialization could - line 2873: // TODO: Cache optimized specializations and perform lookup here? lib/Sema/TypeCheckAvailability.cpp (8 lines): - line 841: // FIXME: This is not quite right: we want to handle AppExtensions - line 1911: // FIXME: Should we be validating the ContextName in some way? - line 2533: // FIXME: Use of the platformString here is non-awesome for application - line 2664: // TODO: Consider removing this. - line 2727: // FIXME: Use of the platformString here is non-awesome for application - line 2949: // FIXME: We may need to look at the setter too, if we're going to do - line 3043: // TODO: if we're talking about an inlineable storage declaration, - line 3120: // FIXME: I don't think this is right, but I don't understand the issue well lib/SILOptimizer/Utils/CanonicalOSSALifetime.cpp (8 lines): - line 32: /// TODO: Canonicalization currently bails out if any uses of the def has - line 40: /// TODO: Replace BasicBlock SmallDenseMaps/SetVectors with inlined bits; - line 43: /// TODO: This algorithm would be extraordinarily simple and cheap except for - line 386: // TODO: to improve debugability, consider advancing the poison position - line 434: // TODO: This has become quite a hack. Instead, the final liveness boundary - line 546: /// TODO: replace this with PrunedLivenessAnalysis::computeBoundary. Separate - line 763: // TODO: Handle structs, enums, and tuples. - line 765: // TODO: Functions are not currently handled because of closure lifetime lib/AST/ASTDumper.cpp (8 lines): - line 1236: // FIXME: print the file's basename? - line 1612: // TODO: Printing a var decl does an Indent ... dump(vd) ... '\n'. We - line 1731: /// FIXME: This should use ExprWalker to print children. - line 2913: // FIXME: Fully use the ASTPrinter. - line 3832: // [TODO: Improve-Clang-type-printing] - line 3854: // FIXME: generic signature dumping needs improvement - line 3884: // [TODO: Improve-Clang-type-printing] - line 3904: // FIXME: Print the structure of the type. stdlib/public/runtime/MetadataLookup.cpp (8 lines): - line 684: // FIXME: When the _Concurrency library gets merged into the Standard Library, - line 719: // FIXME: When the _Concurrency library gets merged into the Standard Library, - line 1285: // TODO: Find non-symbolic-referenced opaque decls. - line 1624: // FIXME: Implement. - line 1680: // FIXME: Implement. - line 1685: // FIXME: Implement. - line 1738: // TODO: propagate the request down to the builder instead of calling - line 2166: // FIXME: delete this #if and dlsym once we don't lib/SIL/Utils/Projection.cpp (8 lines): - line 149: // TODO: handle negative indices - line 385: // TODO: migrate users to getProjectionPath to the AccessPath utility to - line 474: /// TODO: Integrate has empty non-symmetric difference into here. - line 499: // TODO: If Index equals zero, then we know that the two lists have nothing - line 780: // TODO: make the sil location more precise. - line 1133: /// TODO: Replace this with a simple RPOT and use GraphUtils. Since we do not - line 1398: // TODO: Prove this and put the proof here. - line 1483: // TODO: Just change this into a partition method. Should be significantly stdlib/public/core/RandomAccessCollection.swift (8 lines): - line 36: // FIXME: Associated type inference requires these. - line 86: // FIXME: Associated type inference requires these. - line 210: // TODO: swift-3-indexing-model - (By creating an ambiguity?), try to - line 260: // FIXME: swift-3-indexing-model: tests. - line 295: // FIXME: swift-3-indexing-model: tests for the trap. - line 309: // FIXME: swift-3-indexing-model: tests for the trap. - line 345: // FIXME: swift-3-indexing-model: tests for the trap. - line 362: // FIXME: swift-3-indexing-model: tests for traps. lib/IRGen/GenHeap.cpp (8 lines): - line 316: // TODO: We could be lazier about this. - line 371: // FIXME: We should call a fast deallocator for heap objects with - line 389: // FIXME: We should call a fast deallocator for heap objects with - line 400: // FIXME: We should call a fast deallocator for heap objects with - line 407: /// TODO: give this some reasonable name and possibly linkage. - line 457: /// TODO: give this some reasonable name and possibly linkage. - line 1587: // TODO: Multi-field boxes - line 1634: // TODO: Other common shapes? Optional-of-Refcounted would be nice. lib/AST/TypeCheckRequests.cpp (8 lines): - line 122: // FIXME: Improve this diagnostic. - line 161: // FIXME: This is compatible with the existing name tracking scheme, but - line 173: // FIXME: Improve this diagnostic. - line 382: // FIXME: We should consider merging the circularity handling the GSB does - line 786: // FIXME: We should consider merging the circularity handling the GSB does - line 794: // FIXME: We should consider merging the circularity handling the GSB does - line 1081: // FIXME: Refactor this to be the thing that warms the cache. - line 1098: // FIXME: Refactor this to be the thing that warms the cache. lib/SILOptimizer/Analysis/EscapeAnalysis.cpp (8 lines): - line 99: // FIXME: without a covered switch, this is not robust in the event that new - line 1822: // TODO: fix the quadratic complexity (if possible) and remove this limit. - line 1909: // TODO: Generalize it. Destructor of an aggregate type is equivalent to calling - line 2020: // TODO: Model ReserveCapacityForAppend, AppendContentsOf, AppendElement. - line 2207: // TODO: Why does this need to be "escaping"? The fields can't escape - line 2734: // FIXME: remove this to avoid confusion with SILType.hasReferenceSemantics. - line 2855: // TODO: This API is ineffective for release hoisting, because the release - line 2860: // TODO: In the future, we may have an AliasAnalysis query that distinguishes lib/SILOptimizer/SemanticARC/CopyValueOpts.cpp (8 lines): - line 17: /// FIXME: CanonicalizeOSSALifetime likely replaces everything this file. - line 68: // TODO: This needs a better name. - line 155: // TODO: There may be some way of sinking this into the loop below. - line 157: // FIXME: The haveAnyLocalScopes and destroy.empty() checks are relics of - line 255: /// FIXME: CanonicalizeOSSALifetime replaces this. - line 453: // TODO: Can we make this more aggressive and by how much? E.x.: Can we allow - line 620: // FIXME: CanonicalizeOSSALifetime replaces this. - line 735: // TODO: Add support for forwarding insts here. lib/IRGen/GenObjC.cpp (8 lines): - line 530: // TODO: Track lifetime markers for function args. - line 610: // FIXME: this needs to be target-specific. Ask Clang for it! - line 711: // FIXME: Give the thunk a real name. - line 712: // FIXME: Maybe cache the thunk by function and closure types? - line 900: // TODO: If function context arguments were given objc retain counts, - line 906: // FIXME: Either emit a descriptor for this or create a metadata kind - line 912: // FIXME: non-fixed offsets - line 1066: // FIXME: Property encoding differs in slight ways that aren't publicly lib/SILOptimizer/Mandatory/DiagnoseUnreachable.cpp (8 lines): - line 187: // FIXME: These could be further propagatable now, we might want to move - line 259: // FIXME: Do not report if we are within a template instantiation. - line 334: // FIXME: Do not report if we are within a template instantiation. - line 545: // FIXME: Do not report if we are within a template instantiation. - line 546: // FIXME: Checking for LabeledConditionalStmt is a hack; it's meant to - line 587: // TODO: This needs a better name. - line 608: // TODO: Check that EI is really an IntegerLiteralInst - line 627: // TODO: Warn on unreachable user code here as well. lib/SILOptimizer/Transforms/CopyForwarding.cpp (8 lines): - line 49: // TODO: Currently we only handle the address-only case, not the retain/release - line 52: // TODO: We should run this at -Onone even though it's not diagnostic. - line 54: // TODO: Currently we only handle cases in which one side of the copy is block - line 289: // TODO: Peek through struct element users like COWArrayOpts. - line 291: // TODO: Attempt to analyze partial applies or run closure propagation - line 294: // TODO: assert that this list is consistent with - line 1332: // TODO: Record all loads during collectUsers. Implement findRetainPoints to - line 1374: // TODO: We could easily handle hoisting above loops if LoopInfo is available. include/swift/Remote/MetadataReader.h (8 lines): - line 736: // FIXME: This appears in _swift_buildDemanglingForMetadata(). - line 1041: // FIXME: classes - line 1053: // TODO: Should we include trailing generic arguments in this load? - line 1434: // FIXME: add a query for this; clients may have a way to do it. - line 2123: // FIXME: Use the ABI name here. - line 2319: // FIXME: Unify this with the runtime's Demangle.cpp - line 2588: // TODO: We need to be able to produce protocol conformances for each - line 2635: // TODO: If the key argument has been concretized by a same-type lib/SILOptimizer/PassManager/PassPipeline.cpp (7 lines): - line 509: // FIXME: Improve the RetainSinking pass to sink more/all - line 599: // FIXME: update EagerSpecializer to be a function pass! - line 620: // FIXME: why does StackPromotion need to run in the module pipeline? - line 777: // FIXME: rdar://72935649 (Miscompile on combining PruneVTables with WMO) - line 792: P.addLowerHopToActor(); // FIXME: earlier for more opportunities? - line 834: // FIXME: When *not* emitting a .swiftmodule, skip the high-level function - line 915: // TODO: MandatoryARCOpts should be subsumed by CopyPropagation. There should lib/TBDGen/TBDGen.cpp (7 lines): - line 351: // FIXME: use $ld$previous instead - line 502: // FIXME: the logic around visibility in extensions is confusing, and - line 522: // FIXME: We should have a SILDeclRef SymbolSource for this. - line 831: // FIXME: We ought to have a symbol source for this. - line 896: // FIXME: We ought to have a symbol source for this. - line 1143: // FIXME: We ought to have a symbol source for this. - line 1515: // FIXME: Once the evaluator supports returning a reference to a cached value lib/SILOptimizer/Transforms/AccessEnforcementOpts.cpp (7 lines): - line 63: /// TODO: Perform another run of AccessEnforcementSelection immediately before - line 172: // FIXME: llvm::SetVector should have a reserve API. - line 547: // TODO: begin_unpaired_access is not tracked. Even though begin_unpaired_access - line 633: // FIXME: Treat may-release conservatively in the anlysis itself by - line 741: // TODO Introduce "Pure Swift" deinitializers - line 924: // TODO: support multi-end access cases - line 966: // TODO: support other merge patterns lib/SILOptimizer/Mandatory/MandatoryInlining.cpp (7 lines): - line 74: // FIXME: Can we cache this in between inlining invocations? - line 186: // TODO: Do we need to lifetime extend here? - line 287: // TODO: What if we have multiple destroy_value? That should be ok. - line 577: // FIXME: We don't currently handle mismatched return types, however, this - line 627: // TODO: Handle argument conversion. All the code in this file needs to be - line 758: // FIXME: Comments at the use of this helper indicate that devirtualization - line 861: // FIXME: possibly it could be worth recovering and attempting other lib/Sema/TypeCheckCodeCompletion.cpp (7 lines): - line 109: /// FIXME: Remove this. - line 209: // TODO: This has to be deleted once `EnableMultiStatementClosureInference` - line 448: // FIXME: Verify ExtInfo state is correct, not working by accident. - line 470: // FIXME: 'UnresolvedType' still might be typechecked by an operator. - line 788: // FIXME: There is currently no way to distinguish between - line 827: // FIXME: instead of filtering, expose the score and viability to clients. - line 1291: // FIXME: Improve the linear search over S.typeBindings when it's possible lib/IRGen/GenKeyPath.cpp (7 lines): - line 745: // TODO: Eliminate GenericContextScope entirely - line 867: // FIXME: This doesn't support classes with resilient ancestry, because - line 948: // FIXME: Does this need to be signed? - line 969: // FIXME: In non-JIT mode, ideally we would just refer to the selector - line 1061: // TODO: This field index would require runtime resolution with Swift - line 1165: // TODO: If this is behavior is not desired we should find a way to skip to - line 1316: // TODO: The pattern could be immutable if stdlib/private/StdlibCollectionUnittest/CheckCollectionInstance.swift (7 lines): - line 510: // FIXME: more checks for bidirectional and random access collections. - line 760: // FIXME: more checks for bidirectional and random access collections. - line 1019: // FIXME: more checks for bidirectional and random access collections. - line 1278: // FIXME: more checks for bidirectional and random access collections. - line 1528: // FIXME: more checks for bidirectional and random access collections. - line 1787: // FIXME: more checks for bidirectional and random access collections. - line 1905: // FIXME: why do we need to break this string into two parts? lib/SILGen/SILGenPoly.cpp (7 lines): - line 347: // SEMANTIC ARC TODO: When the verifier is finished, revisit this. - line 497: // FIXME: Should only happen with the DynamicSelfType case above, - line 1106: // FIXME: IUO to Tuple - line 2771: // FIXME: We can't reasonably lifetime-extend an inner-pointer result - line 3564: // TODO: maybe this should use a more explicit instruction. - line 4662: // FIXME: Disable checks that the protocol witness carries debug info. - line 4728: // TODO: fix this for static C++ methods. include/swift/AST/Expr.h (7 lines): - line 1341: /// FIXME: This behavior is bizarre. - line 1350: /// FIXME: This behavior is bizarre. - line 1362: /// FIXME: This behavior is bizarre. - line 1402: // TODO: optimize getStartLoc() and getEndLoc() when TypeLoc allows it. - line 1822: // FIXME: Really, we should be setting this to `FunctionRefKind::Compound` - line 3113: /// FIXME: This should be a CapturingExpr. - line 4858: /// FIXME: We should support type queries with a runtime metatype value too. include/swift/AST/Types.h (7 lines): - line 1656: /// FIXME: This should be build-configuration-dependent. - line 1669: /// FIXME: This should be build-configuration-dependent. - line 1758: /// FIXME: This should be build-configuration-dependent. - line 1765: /// FIXME: This should be build-configuration-dependent. - line 1955: // TODO: As part of AST modernization, replace with a proper - line 2877: /// FIXME: Remove this. Return the formal type of the parameter in the - line 4918: // TODO: SILBoxTypes should be explicitly constructed in terms of specific lib/SILOptimizer/FunctionSignatureTransforms/FunctionSignatureOpts.cpp (7 lines): - line 25: /// TODO: Optimize function with generic parameters. - line 27: /// TODO: Improve epilogue release matcher, i.e. do a data flow instead of - line 195: // FIXME: handle multiple direct results here - line 217: // TODO: This can ignore non-contextual archetypes. - line 370: // TODO: Implement a more precise analysis, so that we can eliminate only - line 658: // TODO: Add support for this. - line 746: // TODO: Maybe we can skip this restriction when we have semantic ARC. lib/SILOptimizer/Transforms/ARCCodeMotion.cpp (7 lines): - line 58: /// TODO: Sinking retains can block releases to be hoisted, and hoisting - line 62: /// TODO: Consider doing retain hoisting and release sinking. This can help - line 65: /// TODO: There are a lot of code duplications between retain and release code - line 1116: // TODO: Use SideEffectsAnalysis here. - line 1173: // FIXME: Support ownership. - line 1184: // TODO: maybe we can do this lazily or maybe we should disallow SIL passes - line 1197: // TODO: we should consider Throw block as well, or better we should lib/SILOptimizer/Utils/CastOptimizer.cpp (7 lines): - line 348: // TODO: Is it safe to just eliminate the initial retain? - line 710: // TODO handle remaining indirect argument types - line 818: // FIXME: Can't optimize bridging with NSError. - line 1039: // TODO: Bridged casts cannot be expressed by checked_cast_br yet. - line 1124: // TODO: Bridged casts cannot be expressed by checked_cast_value_br yet. - line 1473: // FIXME: I'm not sure why this is true! - line 1520: /// TODO: Move to emitSuccessfulIndirectUnconditionalCast? lib/AST/TypeJoinMeet.cpp (7 lines): - line 28: // FIXME: This is currently woefully incomplete, and is only currently - line 130: // FIXME: Handle joins of classes and a single protocol? - line 157: // FIXME: Unimplemented. - line 185: // FIXME: When possible we should return a protocol or protocol - line 338: // FIXME: Properly handle these attributes. - line 420: // FIXME: Handle other types here. - line 443: // FIXME: Handle other types here. lib/AST/DiagnosticEngine.cpp (6 lines): - line 100: // TODO: categorization - line 275: // FIXME: This could probably be applied to structured fix-its as well. - line 673: // TODO: We should use PrintOptions::printForDiagnostic here, or we should - line 680: // FIXME: We should never receive a nullptr here, but this is causing - line 694: // FIXME: We should never receive a nullptr here, but this is causing - line 1134: // FIXME: Horrible, horrible hackaround. We're not getting a tools/swift-reflection-dump/swift-reflection-dump.cpp (6 lines): - line 258: // FIXME: ReflectionContext tries to read bits of the ELF structure that - line 285: // FIXME: We need to map the header at least, but how much of it does - line 455: // TODO: The following should be set based on inspecting the image. - line 529: // TODO: We could consult the dynamic symbol tables of the images to - line 617: // FIXME: This could be configurable. - line 626: // FIXME: This could be configurable. stdlib/public/core/Indices.swift (6 lines): - line 55: // FIXME: swift-3-indexing-model: range check. - line 61: // FIXME: swift-3-indexing-model: range check. - line 70: // FIXME: swift-3-indexing-model: range check. - line 76: // FIXME: swift-3-indexing-model: range check. - line 107: // FIXME: swift-3-indexing-model: range check. - line 113: // FIXME: swift-3-indexing-model: range check. lib/SILOptimizer/SILCombiner/SILCombinerApplyVisitors.cpp (6 lines): - line 573: // FIXME: We could probably optimize this case too - line 603: // TODO: this is not required anymore when we have ownership SIL. But with - line 702: // FIXME: Remove this out-dated check for mutating self. canReplaceCopiedArg - line 836: /// FIXME: remove this helper when we can assume SIL opaque values. - line 1079: /// FIXME: Protocol methods (witness or default) that return Self will be given - line 1418: // FIXME: We could handle dynamic_function_ref instructions here because the lib/IRGen/LoadableByAddress.cpp (6 lines): - line 665: // TODO Any more instructions to add here? - line 676: // TODO Any more instructions to add here? - line 1082: // debug_value insterted later. TODO: It may be more elegant to insert - line 1665: // FIXME: Remove this. This is likely indicative of a bug earlier in the - line 1876: // TODO: peephole: special handling of known cases: - line 2941: // FIXME: Why aren't function_ref uses processed transitively? And lib/AST/Builtins.cpp (6 lines): - line 606: // FIXME: Do we care about vectors of pointers? - line 614: // FIXME: Do we care about vectors of pointers? - line 650: // FIXME: Implement bitcast typechecking. - line 1304: // TODO: Use `kind.getMinimalDifferentiabilityKind()`. - line 1377: // FIXME: Verify ExtInfo state is correct, not working by accident. - line 3014: // FIXME: Ugly hack: remove the .Builtin from the element type. include/swift/SIL/MemAccessUtils.h (6 lines): - line 64: /// (TODO: make storage casts within access scopes illegal). For non-formal - line 874: // FIXME: add a structural requirement to SIL so base is always valid in OSSA. - line 967: /// compatible type. TODO: add enforcement for this rule. - line 1183: // FIXME: add a structural requirement to SIL/OSSA so valid storage has - line 1488: // FIXME: Make sure this case goes away with OSSA and opaque values. If not, - line 1511: /// TODO: Add stricter structural guarantee such that these never lib/IDE/SyntaxModel.cpp (6 lines): - line 72: // FIXME: some editors don't handle multi-line object literals very well, - line 106: // FIXME: some editors don't handle multi-line object literals very well, - line 383: // FIXME: Remove this - line 1050: // FIXME: ASTWalker walks enum elements as members of the enum decl, not - line 1459: // Search for 'FIXME:' or 'TODO:'. - line 1467: if (Text.startswith("FIXME:") || Text.startswith("TODO:") || stdlib/public/core/StringGutsRangeReplaceable.swift (6 lines): - line 61: self.grow(capacity) // TODO: no factor should be applied - line 71: self.grow(n) // TODO: no factor should be applied - line 82: // TODO: Don't do this! Growth should only happen for append... - line 225: // TODO: In-register slicing - line 293: // FIXME: It should be okay to get rid of excess capacity - line 320: // FIXME: It should be okay to get rid of excess capacity lib/SILOptimizer/Utils/PerformanceInlinerUtils.cpp (6 lines): - line 599: // TODO: Once Nested semantics calls are preserved during early inlining, - line 643: /// TODO: if simply checking the call arguments results in too many functions - line 648: /// TODO: Move this into PerformanceInlinerUtils and apply it to - line 757: // TODO: for stable optimization of semantics, prevent inlining whenever - line 850: // FIXME: This should be cached! - line 862: // TODO: revisit why we can make an exception for inline-always lib/SILOptimizer/LoopTransforms/LICM.cpp (6 lines): - line 72: // TODO: handle StoreOwnershipQualifier::Init - line 96: // TODO: handle LoadOwnershipQualifier::Take - line 709: // TODO: Refactor COW Array Opt + canHoist - radar 41601468 - line 723: // Potential TODO: At loop exit block - line 794: // TODO Introduce "Pure Swift" deinitializers - line 1080: /// TODO: The \p storeAddr parameter is only needed until we have an utils/build_swift/build_swift/driver_arguments.py (6 lines): - line 818: # TODO: Convert to store_true - line 823: # TODO: Convert to store_false - line 890: # FIXME: Convert to store_true action - line 901: # FIXME: Convert to store_true action - line 907: # FIXME: Convert to store_true action - line 915: # FIXME: Convert to store_true action lib/AST/ASTMangler.cpp (6 lines): - line 671: // TODO: re-enable this as we switch to the new mangling for ObjC names. - line 677: // TODO: Use new mangling scheme as soon as the ObjC runtime - line 2151: // FIXME: In a world where protocol extensions are dynamically dispatched, - line 3006: // FIXME: Verify ExtInfo state is correct, not working by accident. - line 3215: // FIXME: Symbolic reference to the protocol conformance descriptor. - line 3302: // FIXME: Symbolic reference. lib/IRGen/Linking.cpp (6 lines): - line 949: // TODO: put a cache variable on IGM - line 966: // TODO: Use a real type? - line 970: // TODO: put a cache variable on IGM - line 978: // TODO: put a cache variable on IGM - line 985: case Kind::ValueWitnessTable: // TODO: use ValueWitnessTableTy - line 1197: // TODO: Revisit some of the below, for weak conformances. lib/SILGen/SILGenPattern.cpp (6 lines): - line 46: // TODO: These routines should probably be refactored into their own file since - line 504: /// TODO: This should be refactored into a more general formulation that uses a - line 2132: // FIXME: Do we actually want to do this? SILGen tests today assume this - line 2165: // TODO: Should have a more efficient way to copy payload - line 2682: // TODO: Do we need a copy here? - line 3020: // TODO: Do we need a copy here? stdlib/public/Distributed/DistributedActorSystem.swift (6 lines): - line 18: associatedtype ActorID: Sendable & Hashable & Codable // TODO: make Codable conditional here - line 307: // FIXME: but how would we call this...? - line 308: // FIXME: > type 'Arg' constrained to non-protocol, non-class type 'Self.Invocation.SerializationRequirement' - line 319: // let errorType = try invocation.decodeErrorType() // TODO: decide how to use? - line 361: let _mangledName: String // TODO: StaticString would be better here; no arc, codesize of cleanups - line 421: // TODO: offer recordArgument(label:type:) tools/swift-ide-test/swift-ide-test.cpp (6 lines): - line 1409: // TODO: Multiple tokens. - line 1489: // TODO: Implement per token 'sourcetext' option. - line 2100: // FIXME: Initializer expressions (like array literals) are not contained - line 2926: // FIXME: If ModuleToPrint is a submodule, get its top-level module, which - line 3592: // FIXME: ImportFilterKind::ShadowedByCrossImportOverlay? - line 4179: // FIXME: error? lib/SILOptimizer/Mandatory/MoveKillsCopyableAddressesChecker.cpp (6 lines): - line 897: // TODO: Ensure that all of the conditional-write logic below is encapsulated in - line 1274: // TODO: Ensure that all of the conditional-write logic below is encapsulated in - line 1931: // TODO: Can we handle multiple errors in the same block for a single - line 1972: // TODO: Can we handle multiple errors in the same block for a single - line 2177: // TODO: Hoist this useState into an ivar that we can reuse in between closure - line 2365: // TODO: Emit specific diagnostics here (e.x.: _move of global). stdlib/public/runtime/SwiftValue.mm (6 lines): - line 40: // TODO: Making this a SwiftObject subclass would let us use Swift refcounting, - line 129: /* TODO: If we're able to become a SwiftObject subclass in the future, - line 192: /* TODO: If we're able to become a SwiftObject subclass in the future, - line 262: /* TODO: If we're able to become a SwiftObject subclass in the future, - line 275: // TODO: If we're able to become a SwiftObject subclass in the future, - line 379: // TODO: We could pick specialized __SwiftValue subclasses for trivial types lib/IDE/SourceEntityWalker.cpp (6 lines): - line 51: // FIXME: Remove this - line 302: // FIXME: What about SubscriptExpr and KeyPathExpr arg labels? (SR-15063) - line 729: // FIXME: ImportDecl should store a DeclNameLoc. - line 730: // FIXME: Handle overloaded funcs too by passing a reference for each? - line 813: // FIXME: When does this happen? - line 866: // TODO: There should really be a separate field controlling whether tools/swift-remoteast-test/swift-remoteast-test.cpp (6 lines): - line 73: // FIXME: swiftcall - line 91: // FIXME: swiftcall - line 146: // FIXME: swiftcall - line 154: // FIXME: swiftcall - line 163: // FIXME: swiftcall - line 193: // FIXME: swiftcall lib/Sema/TypeCheckStmt.cpp (6 lines): - line 79: // FIXME: Work around an apparent reentrancy problem with the REPL. - line 1306: // TODO: What about tuples which contain functions by-value that are - line 1555: // FIXME: 'ActiveLabeledStmts', etc. in StmtChecker are not - line 1905: // FIXME: We failed to apply the result builder transform. Fall back to - line 1975: // FIXME: This should be handled by typeCheckExpression. - line 2053: // FIXME: Eliminate this. lib/IRGen/IRGenModule.cpp (6 lines): - line 498: Int8PtrTy, // TODO: block descriptor pointer. - line 546: // TODO: use "tinycc" on platforms that support it - line 1010: // FIXME: ld64 crashes resolving relative references to coalesceable symbols. - line 1061: // FIXME: Remove even the null value per rdar://problem/18801263 - line 1075: // FIXME: When !ObjCInterop, we should remove even the null value per - line 1428: // FIXME: This constant should be vended by LLVM somewhere. include/swift/Reflection/ReflectionContext.h (6 lines): - line 345: // FIXME: This code needs to be cleaned up and updated - line 812: // FIXME: Non-generic SIL boxes also use the HeapLocalVariable metadata - line 941: // FIXME: Check third value, 'IsBridgedError' - line 1138: // TODO: once the old conformance cache is gone for good, remove that code. - line 1328: // FIXME: std::stringstream would be better, but LLVM's standard library - line 1427: // FIXME: should be unordered_set but I'm too lazy to write a hash lib/SILOptimizer/Mandatory/DIMemoryUseCollector.cpp (6 lines): - line 40: // FIXME: We only support pointer to address here to not break LLDB. It is - line 51: // TODO: This should really be tracked separately from other destroys so that - line 835: // FIXME: The @inout_aliasable convention is used for indirect captures - line 923: // TODO: Is it reasonable to just honor the marking, or should we look - line 1369: // FIXME: This should just be cast(User) but that doesn't - line 1402: // FIXME: This is a Sema bug and breaks resilience, we should not lib/Sema/TypeCheckSwitchStmt.cpp (6 lines): - line 737: // FIXME: Clean up code for performance - line 968: // FIXME: Pessimistically using IEEEquad here is bad and we should - line 1502: // FIXME: Compound names. - line 1515: // FIXME: Compound names. - line 1530: // FIXME: SE-0155 makes this case unreachable. - line 1551: // FIXME: Compound names. stdlib/public/runtime/Demangle.cpp (6 lines): - line 102: // TODO: Use the unsubstituted type if we can't handle the - line 112: // TODO: Turn the generic signature into a demangling as the third - line 230: // FIXME: This stuff should be merged with the existing logic in - line 318: // FIXME: This should use MetadataReader.h. - line 674: // FIXME: Some opaque types do have manglings, but we don't have enough info - line 698: /// \param flags can be used to select the demangling style. TODO: We should stdlib/public/Concurrency/Actor.cpp (6 lines): - line 97: // FIXME: system scheduler integration - line 123: /// TODO: this is obviously runtime-internal and therefore not - line 622: // FIXME: add a reference to the running thread ID so that we - line 1141: // FIXME: should this be an exact match in priority instead of - line 1465: /// FIXME: only exists for the quick-and-dirty MainActor implementation. - line 1676: // TODO: remove this memset eventually, today we only do this to not have lib/SIL/IR/SILInstructions.cpp (6 lines): - line 169: // TODO: Support AllocBoxInst - line 582: // FIXME: the callee should have a lowered SIL function type, and - line 744: // TODO: Ban 'Normal' and 'Forward'. - line 1417: // FIXME: this should be cached during cacheFieldIndex(). - line 1470: /// FIXME: this should be cached during cacheFieldIndex(). - line 2794: // TODO: Create an iterator for accessing first level projections to eliminate stdlib/public/runtime/SwiftObject.mm (6 lines): - line 1066: // FIXME: We need to decide if this is really how we want to treat 'nil'. - line 1096: // FIXME: We need to decide if this is really how we want to treat 'nil'. - line 1126: // FIXME: Actually compare CFTypeIDs, once they are available in the metadata. - line 1136: // FIXME: Actual compare CFTypeIDs, once they are available in the metadata. - line 1306: // FIXME: Actually compare CFTypeIDs, once they are available in - line 1318: // FIXME: Actually compare CFTypeIDs, once they arae available in lib/Serialization/SerializeSIL.cpp (6 lines): - line 558: // FIXME: Add reverse iteration to SILSuccessor and convert this to a "stable" - line 621: // TODO: We should be able to shrink the packed metadata of the first two. - line 888: // TODO: decide if we want to serialize those instructions. - line 2822: // TODO: Special handling for resilient mode. - line 2898: // FIXME: Resilience: could write out vtable for fragile classes. - line 2923: // FIXME: Don't need to serialize private and internal default witness tools/SourceKit/lib/SwiftLang/SwiftEditor.cpp (6 lines): - line 104: // FIXME: we may want to handle optimization remarks in sourcekitd. - line 143: // FIXME: This is a note pointing to a synthesized declaration buffer for - line 597: // FIXME: Maybe rename CodeCompletionDeclKind to a more general concept ? - line 618: // FIXME: MSVC doesn't pack bitfields with different underlying types. - line 1979: // FIXME: we should also update any "interesting" ASTs that depend on this - line 2419: // FIXME: Report error if Name did not apply to anything ? stdlib/private/StdlibCollectionUnittest/CheckCollectionType.swift (6 lines): - line 744: // TODO: swift-3-indexing-model: uncomment the following. - line 745: // FIXME: improve checkForwardCollection to check the SubSequence type. - line 873: // FIXME: swift-3-indexing-model - add tests for the following? - line 965: // TODO: swift-3-indexing-model: improve this test. `indices` - line 1316: // FIXME: swift-3-indexing-model - add tests for the follow? - line 1320: // FIXME: swift-3-indexing-model - lib/SILOptimizer/LoopTransforms/COWArrayOpt.cpp (6 lines): - line 91: /// TODO: Handle this pattern: - line 99: /// TODO: Completely eliminate make_mutable calls if all operations that the - line 276: // TODO: we should also take advantage of access markers to identify - line 793: // TODO: Support begin_borrow here - line 836: // TODO: Support hoisting of begin_borrow and create end_borrow at appropriate - line 994: // TODO: Support HoistableLoads for OSSA include/swift/SIL/OwnershipUtils.h (5 lines): - line 322: /// FIXME: Borrow scopes should have scope-ending uses on all paths, even to - line 336: /// TODO: tuple, struct, destructure_tuple, destructure_struct. - line 365: // TODO: Can we derive this by running a borrow introducer check ourselves? - line 761: /// FIXME: This should probably also handle project_box once we support - line 897: /// TODO: Handle implicit borrow scopes once they are legal in SIL. The operand lib/SILOptimizer/Analysis/ARCAnalysis.cpp (5 lines): - line 310: // TODO: If we add in alias analysis support here for apply inst, we will need - line 353: // TODO: Expand this to handle *any* guaranteed parameter. - line 473: // FIXME: this is overly conservative. It should return true only of the - line 558: // FIXME: We are iterating over a DenseSet. That can lead to non-determinism - line 920: // TODO: we could make the logic here more complicated to handle each type include/swift/ABI/Task.h (5 lines): - line 29: #include "queue" // TODO: remove and replace with our own mpsc - line 306: /// somewhere. TODO: record where the task is enqueued if - line 337: // TODO: Document more how this is used from the `TaskGroupTaskStatusRecord` - line 643: // TODO: destroy context before returning? - line 644: // FIXME: force tail call lib/SILOptimizer/IPO/LetPropertiesOpts.cpp (5 lines): - line 20: // FIXME: - line 142: /// TODO: Don't occupy any storage for such let properties with constant - line 271: // TODO: Remove the let property, because it is never accessed. - line 318: // TODO: Remove the let property, because it is never accessed. - line 400: // TODO: Support fragile initializers. lib/SILOptimizer/SILCombiner/SILCombinerMiscVisitors.cpp (5 lines): - line 681: // TODO: Do we not remove purely dead live ranges here? Seems like we should. - line 715: // TODO: remove this check once we have OSSA. - line 1342: // TODO: handle StructElementAddrInst to create structs. - line 1724: /// FIXME: Implement this for address projections. - line 2095: // TODO: We should be able to flat-out replace the select_enum instruction lib/AST/ClangTypeConverter.cpp (5 lines): - line 239: // TODO: It is unfortunate that we parse the name of a public library type - line 479: // TODO: [stronger-checking-in-clang-type-conversion] - line 486: // TODO: [stronger-checking-in-clang-type-conversion] - line 499: // TODO: [non-objc-class-clang-type-conversion] - line 529: // TODO: We should try to preserve type arguments on imported ObjC generic stdlib/cmake/modules/AddSwiftStdlib.cmake (5 lines): - line 490: # TODO: Evaluate/enable -f{function,data}-sections --gc-sections for bfd, - line 839: # FIXME: don't actually depend on the libraries in SWIFTLIB_SINGLE_LINK_LIBRARIES, - line 1166: # FIXME: should this be target_link_libraries? - line 1397: # FIXME: The fallback paths here are going to be dynamic libraries. - line 2041: # TODO: Instead of `lib${name}.so` find variable or target property which already have this value. lib/SILOptimizer/Utils/CheckedCastBrJumpThreading.cpp (5 lines): - line 48: // TODO: incrementally update dead-end blocks during SimplifyCFG so it doesn't - line 326: // TODO: Is this a correct assumption? Do we know that at this point that - line 361: // TODO: Make InlineCostCutoff parameter configurable? - line 544: // TODO: - line 557: // TODO: In some specific cases, it is possible to prove that lib/SIL/IR/SIL.cpp (5 lines): - line 62: // FIXME: any place we have to do this that actually requires - line 240: // TODO: Global and static properties ought to eventually be referenceable - line 249: // FIXME: We should support properties and subscripts with '_read' accessors; - line 264: // TODO: If previous versions of an ABI-stable binary needed the descriptor, - line 299: // TODO: Handle reabstraction and tuple explosion in thunk generation. include/swift/AST/Module.h (5 lines): - line 227: // FIXME: Do we really need to bloat all modules with this? - line 604: /// FIXME: Refactor main file parsing to not pump the parser incrementally. - line 605: /// FIXME: Remove the integrated REPL. - line 863: /// FIXME: The scope of this computation should be limited entirely to - line 889: /// FIXME: Should go away once swift modules can support submodules natively. include/swift/SIL/SILValue.h (5 lines): - line 483: /// FIXME: remove this redundant API from SILValue. - line 641: /// FIXME: remove this redundant API from SILValue. - line 762: // TODO: Eliminate the PointerEscape category. All pointer escapes should be - line 805: // (br, FIXME: should also include destructure, tuple, struct) - line 976: /// FIXME: this could be space-compressed. lib/Sema/CodeSynthesis.cpp (5 lines): - line 718: // FIXME: Remove this when lookup of initializers becomes restricted to our - line 864: // FIXME: Form a new initializer by performing the appropriate - line 1096: // FIXME: This should be checked earlier as part of calculating - line 1211: // FIXME: We need to be more lazy about synthesizing constructors. - line 1220: // FIXME: This entire request is a layering violation made of smaller, lib/SILOptimizer/Transforms/SSADestroyHoisting.cpp (5 lines): - line 68: /// TODO: replace the destroy hoisting in CopyForwarding::forwardCopiesOf and - line 75: /// TODO: As a utility, hoistDestroys should be repeatable. Subsequent runs - line 85: /// TODO: enforce an invariant that destroy_addrs jointly post-dominate any - line 489: // TODO: Handle alloc_box the same way, as long as the box doesn't escape. - line 491: // TODO: Handle address and boxes that are captured in no-escape closures. lib/Sema/DebuggerTestingTransform.cpp (5 lines): - line 90: // TODO: Expand the set of decls visited here. - line 109: // TODO: Expand the set of exprs visited here. - line 150: // TODO: Try more ways to extract interesting decl refs. - line 277: // TODO: Save and return the value of $OriginalExpr. - line 287: // TODO: typeCheckExpression() seems to assign types to everything here, unittests/IDE/FuzzyStringMatcherTest.cpp (5 lines): - line 63: // FIXME: Canonical equivalence. These should be the same. - line 68: // FIXME: Compatibility equivalence. It would be good to make these the same - line 73: // FIXME: Case-insensitivity in non-ASCII characters. - line 227: { // FIXME: non-first character matches are all the same. - line 231: { // FIXME: non-matches are the same as non-first-character matches. stdlib/public/core/Set.swift (5 lines): - line 224: // FIXME: Shouldn't this trap? - line 386: // FIXME: rdar://problem/23549059 (Optimize == for Set) - line 974: // FIXME: This discards storage reserved with reserveCapacity. - line 975: // FIXME: Depending on the ratio of elements kept in the result, it may be - line 1163: // the `Element` type; the one below is an educated guess.) FIXME: Derive a lib/IRGen/GenReflection.cpp (5 lines): - line 372: /// TODO: Currently this uses a stub mangling that just refers to an accessor - line 1058: // TODO: Preserve substitutions, since they may affect representation in - line 1093: // Skip protocol requirements (FIXME: for now?) - line 1137: // Skip protocol requirements (FIXME: for now?) - line 1212: // TODO: We should preserve substitutions in SILFunctionType captures lib/IDE/Formatting.cpp (5 lines): - line 534: // TODO: add paren locations to PoundDiagnosticDecl - line 592: // TODO: add paren locations to PoundAssertStmt - line 1901: // FIXME: add paren source locations to the AST Node. - line 2067: // FIXME: Add the colon location to the AST. - line 2980: // FIXME: We should have a cached line map in EditableTextBuffer, for now lib/IRGen/GenBuiltin.cpp (5 lines): - line 427: // TODO: The SIL optimizer may rewrite the name argument in a way that - line 505: // TODO: A linear series of ifs is suboptimal. - line 561: // FIXME: We could generate the code to dynamically report the overflow if the - line 1084: // TODO: assert(IGF.IGM.getOptions().AssertConfig == - line 1343: // TODO: Consider lowering to an LLVM intrinsic if there is any benefit: stdlib/public/Reflection/TypeLowering.cpp (5 lines): - line 718: // XXX TODO: Big-endian support? - line 1895: // TODO: Obtain spare bit mask data from the field descriptor - line 1896: // TODO: Have the compiler emit spare bit mask data in the FD - line 2067: // FIXME: Native convention if blocks are ever supported on Linux? - line 2227: // TODO: Provide a hook for the client to try to resolve the opaque archetype lib/SILOptimizer/SILCombiner/SILCombinerCastVisitors.cpp (5 lines): - line 255: // TODO: stripCasts(ptrAdrInst->getOperand()) can be used to find the Builtin, - line 748: // FIXME: We should find a better way of solving this than losing location - line 777: // FIXME: rename from RemoveCondFails to RemoveRuntimeAsserts. - line 1008: // TODO: Also handle the WillFail case. - line 1082: // TODO: We could generalize this to handle other ABI-compatible cases, by stdlib/public/core/StringCharacterView.swift (5 lines): - line 62: // TODO: known-ASCII fast path, single-scalar-grapheme fast path, etc. - line 81: // TODO: known-ASCII fast path, single-scalar-grapheme fast path, etc. - line 112: // TODO: known-ASCII and single-scalar-grapheme fast path, etc. - line 157: // TODO: known-ASCII and single-scalar-grapheme fast path, etc. - line 172: // TODO: known-ASCII and single-scalar-grapheme fast path, etc. lib/Frontend/PrintingDiagnosticConsumer.cpp (5 lines): - line 210: // TODO: add raw_ostream support for italics ANSI codes in LLVM. - line 606: // FIXME: Improve Unicode support so every message can include a direct - line 644: // FIXME: This call to `getLineNumber` is expensive. - line 1105: // FIXME: Handle multibyte characters. - line 1126: // FIXME: This implementation is inefficient. lib/Sema/PCMacro.cpp (5 lines): - line 143: IS->setCond(SC); // FIXME: is setting required?.. - line 153: SourceLoc ElseLoc = IS->getElseLoc(); // FIXME: got to pass this back into - line 166: // FIXME: here we should use the old range to show a better highlight - line 228: // FIXME: get the 'end' of the for stmt - line 466: // FIXME: Should iterate all var decls lib/SIL/Verifier/LoadBorrowImmutabilityChecker.cpp (5 lines): - line 75: // TODO: Ensure that all of the conditional-write logic below is encapsulated in - line 134: // FIXME: explain why. - line 186: // FIXME: explain why a mark_dependence effectively writes to storage. - line 381: // TODO: As a separate analysis, verify that the load_borrow scope is always - line 393: // FIXME: A yielded address could overlap with another in this function. lib/DependencyScan/ScanDependencies.cpp (5 lines): - line 195: // FIXME: This is such a hack. - line 403: // FIXME: rename to be consistent in the clients (swift-driver) - line 878: // TODO: Once the clients are taught about the new dependency kind, - line 1271: // FIXME: We shouldn't need this, but it's masking bugs in our scanning - line 1306: // FIXME: We shouldn't need this, but it's masking bugs in our scanning unittests/AST/TypeMatchTests.cpp (5 lines): - line 49: // FIXME: Verify ExtInfo state is correct, not working by accident. - line 104: // FIXME: Verify ExtInfo state is correct, not working by accident. - line 153: // FIXME: Verify ExtInfo state is correct, not working by accident. - line 194: // FIXME: Verify ExtInfo state is correct, not working by accident. - line 359: // FIXME: Verify ExtInfo state is correct, not working by accident. stdlib/public/core/Range.swift (5 lines): - line 303: // FIXME: swift-3-indexing-model: tests for the range check. - line 878: // FIXME: replace this with a computed var named `...` when the language makes - line 968: // TODO: enhance RangeExpression to make this generic and available on - line 1016: // shorthand. TODO: Add documentation - line 1021: // shorthand. TODO: Add documentation lib/Sema/TypeCheckEffects.cpp (5 lines): - line 737: // FIXME: Should be ::Always if its not one of our - line 1290: // FIXME: There's a case where we can end up with an ApplyExpr that - line 1304: // TODO: partial applications? - line 1665: case PotentialEffectReason::Kind::AsyncLet: // FIXME: not really the right name? - line 2098: // TODO: I'm being gentle with the casts to avoid breaking things lib/AST/Expr.cpp (5 lines): - line 22: #include "swift/AST/Decl.h" // FIXME: Bad dependency - line 242: // TODO: - line 300: // FIXME: Return multiple results? - line 2028: // FIXME: Once we can model generic typealiases properly, rip - line 2058: // FIXME: This is horrible. lib/SILOptimizer/Utils/ConstantFolding.cpp (5 lines): - line 753: // FIXME: This will prevent hard error in cases the error is coming - line 1504: // TODO: Eliminate trivially dead instructions here. - line 1580: // TODO: Enum. - line 1827: // FIXME: remove this temporary deleter. It is dangerous because any use of - line 1987: // TODO: refactor this code outside of the method. Passes should not merge utils/parser-lib/profile-input.swift (5 lines): - line 101: // TODO: weak references? - line 1183: * TODO: this should be expanded to track various visit types; see Bug 1166084. - line 1325: // TODO: https://bugzilla.mozilla.org/show_bug.cgi?id=1158503 provide some form of 'this has been added' visual feedback? - line 1722: presentSignInViewController(fxaParams) // TODO UX Right now the flow for sign in and create account is the same - line 1727: presentSignInViewController(fxaParams) // TODO UX Right now the flow for sign in and create account is the same include/swift/Basic/STLExtras.h (5 lines): - line 277: /// FIXME: Could optimize away this storage with EBCO tricks. - line 288: using pointer = void; // FIXME: Should provide a pointer proxy. - line 395: /// FIXME: Could optimize away this storage with EBCO tricks. - line 419: using pointer = void; // FIXME: should add a proxy here. - line 757: // FIXME: Remove this when C++20 is the new baseline. lib/SILOptimizer/SemanticARC/LoadCopyToLoadBorrowOpt.cpp (5 lines): - line 184: // TODO: This should be extended: - line 227: // TODO: Once we model Coroutine results as non-local scopes, we should be - line 232: // TODO: This is disabled temporarily for guaranteed phi args just for - line 255: // TODO: Handle other access kinds? - line 341: // FIXME: We should consider if it is worth promoting a load [copy] lib/SIL/IR/SILType.cpp (5 lines): - line 176: // TODO: handle casting to a loadable existential by generating - line 369: // NSError (TODO: and CFError) can be bridged. - line 588: // TODO: maybe there are checks we can do here? - line 647: // TODO: Function types go through a more elaborate lowering. - line 654: // TODO: Will this always be the case? lib/Demangling/OldRemangler.cpp (5 lines): - line 677: // ###TODO: Is this an error? - line 896: // ###TODO: Check this (and similar ones below). Should this be a failure? - line 1509: // ###TODO: Is this right? Should this be an error? - line 2360: // ###TODO: Are these errors?! - line 2412: // ###TODO: Is this an error? lib/SILOptimizer/Mandatory/Differentiation.cpp (5 lines): - line 240: // TODO: Check other layout requirements. Note that `@differentiable` - line 518: // TODO: If posssible, change `autodiff::getLoweredParameterIndices` to - line 611: // FIXME: This is not a very robust way of determining if the function is - line 1121: // if (actualIndices != desiredIndices) { // TODO: Re-enable. - line 1248: // FIXME: This function is not correctly detecting the foldable pattern and stdlib/public/runtime/RuntimeInvocationsTracking.cpp (5 lines): - line 47: /// TODO: Add support for enabling/disabling counters on a per object basis? - line 98: /// TODO: Track only objects that were registered for tracking? - line 99: /// TODO: Perform atomic increments? - line 123: /* TODO: Remember the order/history of operations? */ \ - line 235: /// TODO: Provide an API to remove any counters releated to a specific object lib/Index/Index.cpp (5 lines): - line 1094: // FIXME: Handle modules with multiple source files; these will fail on - line 1747: // FIXME: Workaround for getting tag locations. We should enhance cmark to - line 1876: // FIXME: What happens if the clang module imports a swift module ? So far - line 1879: // FIXME: This is a bit of a hack. - line 1894: // FIXME: ImportFilterKind::ShadowedByCrossImportOverlay? lib/IRGen/GenValueWitness.cpp (5 lines): - line 1094: // TODO: Non-C enums have extra inhabitants and also need additional value - line 1308: // FIXME: some types are provably too big (or aligned) to be - line 1322: // FIXME: there might be some interesting cases where this - line 1334: // TODO: consider using a slower mode that dynamically checks - line 1363: // TODO: Arrays currently lower-bound the stride to 1. stdlib/public/core/StringBridge.swift (5 lines): - line 338: // TODO: move this to the Foundation overlay and reimplement it with - line 512: providesFastUTF8: false, //TODO: if contentsPtr is UTF8 compatible, use it - line 523: // TODO: Only in certain circumstances should we emit this call: - line 608: // TODO: small capacity minimum is lifted, just need to make native - line 614: // TODO: We'd rather emit a valid ObjC object statically than create a lib/SILGen/SILGenBridging.cpp (5 lines): - line 121: // FIXME: Figure out the right SubstitutionMap stuff if the witness - line 1149: // TODO: Ever need to handle +0 values here? - line 1252: // FIXME: maybe we should use a different entrypoint for this case, to - line 2050: // TODO: Handle exploded results? We don't currently need to since the only - line 2125: // TODO: Could avoid a retain if the bridged parameter is also +0 and lib/Serialization/DeserializeSIL.cpp (5 lines): - line 397: // FIXME: check for matching types. - line 591: // TODO: use the correct SILLocation from module. - line 1234: // FIXME: validate - line 1610: // FIXME: Why the arbitrary order difference in IRBuilder type argument? - line 2968: // TODO: If this results in any noticeable performance problems, Cache the lib/SILGen/SILGenProlog.cpp (5 lines): - line 192: // TODO: It would be a bit more efficient to use a preallocated buffer - line 428: // TODO: Closure contexts should always be guaranteed. - line 603: // TODO: perhaps here we can emit our special handling to make a message? - line 821: // TODO: can the type system enforce this async requirement? - line 828: // TODO: Explicit hop with no hop-back should only be allowed in independent stdlib/public/core/RangeReplaceableCollection.swift (4 lines): - line 66: // FIXME: Associated type inference requires this. - line 370: // FIXME: Associated type inference requires these. - line 1008: // FIXME: what if lhs is a reference type? This will mutate it. - line 1092: // FIXME: what if lhs is a reference type? This will mutate it. stdlib/public/runtime/DynamicCast.cpp (4 lines): - line 225: // FIXME: Can we directly reference the descriptor somehow? - line 1293: // TODO: We could also allow ABI-compatible variance, such as casting - line 1413: // TODO (rdar://17033499) If the source is an existential, we should - line 1835: // TODO: collect the witness tables. include/swift/Runtime/Config.h (4 lines): - line 183: // FIXME: the next comment is false. - line 225: // FIXME: the runtime's code does not honor DefaultCC - line 392: // FIXME: assert that T is not a function-pointer type? - line 408: // FIXME: assert that T is not a function-pointer type? include/swift/Reflection/TypeRefBuilder.h (4 lines): - line 385: // TODO: Produce a type ref for the opaque type if the underlying type isn't - line 563: // FIXME: Implement this. - line 569: // FIXME: Implement this. - line 582: // FIXME: Implement this. lib/SILOptimizer/Utils/ValueLifetime.cpp (4 lines): - line 119: // FIXME: remove the visitBlock callback once DeadEndBlocks is removed. - line 194: // FIXME: There is no need for a Mode within the algorithm once critical edges - line 197: // FIXME: DeadEndBlocks does not affect value lifetime. It - line 222: // FIXME: DeadObjectElimination and StackPromotion don't currently handle lib/SILOptimizer/Analysis/SideEffectAnalysis.cpp (4 lines): - line 59: // TODO: be less conservative about what destructors might be called. - line 116: // TODO: be less conservative about what destructors might be called. - line 414: // TODO: also handle other semantic functions. - line 585: // TODO: derive this information in a more general way, e.g. add it validation-test/stdlib/Collection/MinimalMutableRangeReplaceableBidirectionalCollectionOfRef.swift (4 lines): - line 11: // FIXME: the test is too slow when the standard library is not optimized. - line 36: // FIXME: use LifetimeTracked. - line 54: // FIXME: use LifetimeTracked. - line 60: // FIXME: use LifetimeTracked. lib/SILOptimizer/Transforms/CSE.cpp (4 lines): - line 928: // TODO: We could check this case with AliasAnalysis. - line 1030: // TODO: Support MultipleValueInstructionResult in OSSA RAUW utility and - line 1169: // TODO: open_existential_ref is not handled in OSSA currently - line 1183: // This is currently a TODO until we can implement a clean way to fix this stdlib/public/core/Builtin.swift (4 lines): - line 168: // FIXME: use a parameterized version of Builtin.unreachable when - line 360: // TODO: define (and use) ABI max valid pointer value - line 429: /// TODO: describe extras - line 564: // FIXME: String Guts stdlib/public/core/ClosedRange.swift (4 lines): - line 13: // FIXME: swift-3-indexing-model: Generalize all tests to check both - line 198: // FIXME: this should only be conformance to RandomAccessCollection but - line 298: // FIXME: swift-3-indexing-model: range checks and tests. - line 476: // shorthand. TODO: Add documentation lib/SILGen/SILGenGlobalVariable.cpp (4 lines): - line 89: // FIXME: often right after this, we will again hop to the actor to - line 95: // FIXME: It'd be nice if the result of the accessor was natively an - line 205: // TODO: include the module in the onceToken's name mangling. - line 268: // FIXME: It'd be nice to be able to return a SIL address directly. lib/Sema/CSSolver.cpp (4 lines): - line 223: // FIXME: Copy these directly into some kind of partial solution? - line 228: // FIXME: Copy these directly into some kind of partial solution? - line 492: // FIXME: This is not at all thread-safe. - line 1103: // FIXME: Should we really be unconditionally complaining stdlib/public/core/Flatten.swift (4 lines): - line 180: // FIXME: swift-3-indexing-model: tests. - line 279: // TODO: swift-3-indexing-model - add docs - line 329: // FIXME: This seems to be the best way of checking whether _base is - line 408: // TODO: swift-3-indexing-model - add docs tools/SourceKit/tools/sourcekitd-test/sourcekitd-test.cpp (4 lines): - line 44: // FIXME: Platform compatibility. - line 591: // FIXME: we should detect if offset is required but not set. - line 610: // FIXME: This non-zero return value is not propagated as an exit code. - line 1522: // FIXME: currently we only return annotations once, so if the original edit stdlib/private/StdlibCollectionUnittest/CheckMutableCollectionType.swift (4 lines): - line 263: // FIXME: improve checkForwardCollection to check the SubSequence type. - line 265: // TODO: swift-3-indexing-model: uncomment the following. - line 284: // FIXME: improve checkForwardCollection to check the SubSequence type. - line 286: // TODO: swift-3-indexing-model: uncomment the following. validation-test/stdlib/Collection/MinimalMutableRangeReplaceableCollectionOfRef.swift (4 lines): - line 11: // FIXME: the test is too slow when the standard library is not optimized. - line 36: // FIXME: use LifetimeTracked. - line 54: // FIXME: use LifetimeTracked. - line 60: // FIXME: use LifetimeTracked. stdlib/public/core/Stride.swift (4 lines): - line 331: // FIXME: should really be a Collection, as it is multipass - line 387: // TODO: Additional implementation work will avoid always falling back to the - line 551: // FIXME: should really be a Collection, as it is multipass - line 604: // TODO: Additional implementation work will avoid always falling back to the stdlib/public/core/CTypes.swift (4 lines): - line 84: // TODO: Fill in definitions for additional architectures as needed. IIRC - line 90: // TODO: Fill in definitions for other OSes. - line 106: // FIXME: Is it actually UTF-32 on Darwin? - line 111: // FIXME: Swift should probably have a UTF-16 type other than UInt16. lib/Sema/BuilderTransform.cpp (4 lines): - line 97: // FIXME: Setting a base on this expression is necessary in order - line 117: // FIXME: We can also construct an UnresolvedMemberExpr here instead of - line 704: // FIXME: Add contextual type purpose for switch subjects? - line 1732: // FIXME: Shouldn't need to do this. lib/SILOptimizer/Mandatory/ClosureLifetimeFixup.cpp (4 lines): - line 158: // TODO: When we split true phi arguments from transformational terminators, - line 299: // TODO: Should we sort inserted phis before or after we initialize - line 565: // TODO: Enable begin_apply/end_apply. It should work, but is not tested yet. - line 964: // TODO: Should we sort inserted phis before or after we initialize validation-test/stdlib/Collection/DefaultedMutableRangeReplaceableBidirectionalCollectionOfRef.swift (4 lines): - line 11: // FIXME: the test is too slow when the standard library is not optimized. - line 36: // FIXME: use LifetimeTracked. - line 54: // FIXME: use LifetimeTracked. - line 60: // FIXME: use LifetimeTracked. lib/SILOptimizer/Transforms/CopyPropagation.cpp (4 lines): - line 35: /// TODO: Cleanup the resulting SIL by deleting instructions that produce dead - line 180: /// TODO: generalize this to handle multiple nondebug uses of the - line 183: /// TODO: generalize this to handle multiple reference member. At that point, it - line 310: /// TODO: consider cloning into each use block (or loop preheader for blocks lib/AST/RequirementMachine/GenericSignatureQueries.cpp (4 lines): - line 360: // FIXME: Recursion guard is needed here - line 375: // FIXME: Recursion guard is needed here - line 429: // FIXME: Recursion guard is needed here - line 667: // FIXME: Shouldn't we always look here? lib/SILOptimizer/Utils/InstructionDeleter.cpp (4 lines): - line 49: /// TODO: Handle partial_apply [stack] which has a dealloc_stack user. - line 80: // TODO: we can handle load [take] but we would have to know that the - line 92: // TODO: When on-stack partial applies are also handled, then their +0 - line 95: // FIXME: Even with fixLifetimes enabled, InstructionDeleter does not know include/swift/Demangling/TypeDecoder.h (4 lines): - line 765: // [TODO: synthesize-Clang-type-from-mangled-name] Use the first child - line 893: // [TODO: synthesize-Clang-type-from-mangled-name] If there are two - line 956: // TODO: Some cases not handled above, but *probably* they cannot - line 1279: // TODO: Handle OpaqueReturnType, when we're in the middle of reconstructing lib/Driver/DarwinToolChains.cpp (4 lines): - line 87: // FIXME: Add options::OPT_Fsystem paths to DYLD_FRAMEWORK_PATH as well. - line 417: // TODO: diagnose unknown runtime compatibility version? - line 539: // FIXME: Continue accepting the old path for simulator libraries for now. - line 737: // FIXME: If we used Clang as a linker instead of going straight to ld, lib/AST/ASTDemangler.cpp (4 lines): - line 242: // FIXME: We're not checking that the type satisfies the generic - line 281: // TODO: named opaque types - line 316: // FIXME: This is the wrong module - line 810: // FIXME: validate that the parent is a correct application of the lib/SIL/Utils/InstructionUtils.cpp (4 lines): - line 52: /// FIXME: Why don't we strip projections after stripping indexes? - line 507: // TODO: hasArchetype() ? - line 567: // TODO: should be NoEffect - line 615: // TODO: why Releasing? lib/PrintAsClang/ModuleContentsWriter.cpp (4 lines): - line 91: // FIXME: I think there's a bug here with recursive generic types. - line 336: // FIXME: It would be nice to diagnose this. - line 537: // FIXME: This will end up taking linear time. - line 629: // TODO (Alex): Emit module contents. stdlib/public/core/Filter.swift (4 lines): - line 158: // TODO: swift-3-indexing-model - add docs - line 168: // TODO: swift-3-indexing-model: _failEarlyRangeCheck i? - line 188: // FIXME: This seems to be the best way of checking whether _base is - line 311: // TODO: swift-3-indexing-model: _failEarlyRangeCheck i? stdlib/public/runtime/Errors.cpp (4 lines): - line 414: // FIXME: can't pass the object's address from InlineRefCounts without hacks - line 421: // FIXME: can't pass the object's address from InlineRefCounts without hacks - line 428: // FIXME: can't pass the object's address from InlineRefCounts without hacks - line 435: // FIXME: can't pass the object's address from InlineRefCounts without hacks validation-test/stdlib/Collection/DefaultedMutableRangeReplaceableRandomAccessCollectionOfRef.swift (4 lines): - line 11: // FIXME: the test is too slow when the standard library is not optimized. - line 36: // FIXME: use LifetimeTracked. - line 54: // FIXME: use LifetimeTracked. - line 60: // FIXME: use LifetimeTracked. lib/IDE/Utils.cpp (4 lines): - line 204: // FIXME: The frontend should be dealing with symlinks, maybe similar to - line 253: // FIXME: Print location info if available. - line 1262: // TODO: Should be dynamic if `D` is marked as dynamic and @objc, but in - line 1301: // TODO: Handle generics and composed protocols lib/IRGen/Fulfillment.cpp (4 lines): - line 173: // TODO: tuples - line 174: // TODO: functions - line 175: // TODO: metatypes - line 332: // TODO: this is potentially suboptimal, but it generally won't matter. lib/ClangImporter/ClangModuleDependencyScanner.cpp (4 lines): - line 33: /// FIXME: This should go away once Clang's dependency scanning library - line 324: // FIXME: Emit a diagnostic here. - line 337: // FIXME: Route this to a normal diagnostic. - line 390: // FIXME: Route this to a normal diagnostic. lib/Driver/Job.cpp (4 lines): - line 86: // FIXME: At the moment, empty primary input names correspond to - line 180: // FIXME: ideally this shouldn't exist, or should at least assert size() == 1, - line 254: // FIXME: ideally this shouldn't associate the additional output with the - line 267: // FIXME: In theory this should always be non-empty -- and V.size() would validation-test/compiler_crashers_2_fixed/0123-rdar31164540.swift (4 lines): - line 349: // TODO: For perf, we could use a local growable buffer instead of Any - line 433: // TODO: With coroutines, it would be better to yield here, so that - line 445: /* TODO: need a "new" attribute - line 907: // TODO: These subscripts ought to sit on `Any` lib/Sema/TypeCheckGeneric.cpp (4 lines): - line 98: // TODO: Maybe one day we could treat this as sugar for an associated type. - line 114: // FIXME [OPAQUE SUPPORT]: to produce the right associate type for the - line 762: // FIXME: Push this into the "get interface type" request. - line 908: // FIXME: Poor source-location information. stdlib/include/llvm/ADT/SmallVector.h (4 lines): - line 135: this->Size = this->Capacity = 0; // FIXME: Setting Capacity to 0 is suspect. - line 686: // FIXME: Consider assigning over existing elements, rather than clearing & - line 1000: // FIXME: don't do this if they're efficiently moveable. - line 1058: // FIXME: this may not actually make any sense if we can efficiently move include/swift/SILOptimizer/Analysis/LoopRegionAnalysis.h (4 lines): - line 141: // FIXME: This should use llvm::TrailingObjects for its tail allocations, but - line 531: /// TODO: Is this necessary? We visit BBs in RPO order. This means that we - line 1040: /// TODO: This needs a better name. - line 1052: /// TODO: This needs a better name. include/swift/AST/SourceFile.h (4 lines): - line 56: /// FIXME: When condition evaluation moves to a later phase, remove this - line 137: /// FIXME: Once addTopLevelDecl/prependTopLevelDecl - line 179: /// FIXME: This entrypoint exists to support LLDB. Calls to this function are - line 451: // FIXME: Ideally the parser state should be an output of lib/SIL/IR/SILDeclRef.cpp (4 lines): - line 237: // FIXME: this is a weird predicate. - line 363: // FIXME: Get rid of case 2 somehow. - line 369: // FIXME: This should always be true. - line 1207: // FIXME: This is too narrow. Any class with resilient metadata should lib/Parse/ParseStmt.cpp (4 lines): - line 340: // FIXME: Add semicolon to the AST? - line 521: // FIXME: Return an ErrorStmt? - line 1867: // FIXME: better recovery - line 2063: return makeParserResult(status, nullptr); // FIXME: better recovery validation-test/stdlib/BoolDiagnostics_Dataflow.swift (4 lines): - line 10: // FIXME: this is a false positive. - line 35: // FIXME: this is a false positive. - line 42: // FIXME: this is a false positive. - line 49: // FIXME: this is a false positive. lib/Sema/TypeCheckAccess.cpp (4 lines): - line 369: // FIXME: Promote these to an error in the next -swift-version break. - line 777: // FIXME: Hack to ensure that we've computed the types involved here. - line 1132: // FIXME: We need an access level to check against, so we pull one out - line 1666: // FIXME: We need to figure out if this is a stored or computed property, utils/swift_build_support/swift_build_support/build_script_invocation.py (4 lines): - line 161: # FIXME: This is incorrect since it always assumes the host - line 167: # FIXME: We should be using pipes.quote here but we run into issues - line 648: # FIXME: This should really be per-host, but the current structure - line 695: # FIXME: We should only compute these once. lib/Serialization/SerializeDoc.cpp (4 lines): - line 159: // FIXME: How do we preserve group information through partial module - line 509: // FIXME: This is only really needed for debugging. We don't actually use it. - line 522: // FIXME: Multi-file compilation may cause group id collision. - line 899: // FIXME: This is only really needed for debugging. We don't actually use it. lib/AST/ASTWalker.cpp (4 lines): - line 173: // FIXME: Update existing ASTWalkers to deal with accessors appearing as - line 307: // FIXME: Update existing ASTWalkers to deal with accessors appearing as - line 321: // TODO: should we recurse within the module? - line 1433: // FIXME: Update existing ASTWalkers to deal with accessors appearing as lib/SILGen/SILGenType.cpp (4 lines): - line 539: // FIXME: I am not sure if this is possible, if it is not change this to an - line 1108: // FIXME: Default implementations in protocols. - line 1148: // FIXME: We can't statically emit a global variable for generic properties. - line 1171: // FIXME: Default implementations in protocols. include/swift/AST/CaptureInfo.h (4 lines): - line 172: // FIXME: Ideally, everywhere that synthesizes a function should include - line 190: // FIXME: Ideally, everywhere that synthesizes a function should include - line 204: // FIXME: Ideally, everywhere that synthesizes a function should include - line 216: // FIXME: Ideally, everywhere that synthesizes a function should include benchmark/cmake/modules/AddSwiftBenchmarkSuite.cmake (4 lines): - line 38: # TODO: Investigate if we can eliminate CLANG_EXEC/SWIFT_EXEC and use more - line 145: # TODO: Get the correct triple. - line 633: # TODO: Unify the linux and darwin builds here. - line 688: # TODO: rpath. lib/Sema/TypeCheckConstraints.cpp (4 lines): - line 405: // FIXME: This shouldn't be necessary. - line 663: // FIXME: Compound name locations. - line 722: // FIXME: Remove this case - line 1349: // TODO: Explore optionals using the same strategy used by the stdlib/public/core/Hasher.swift (4 lines): - line 61: // FIXME: Remove @usableFromInline and @frozen once Hasher is resilient. - line 80: // FIXME: This should be a single expression, but it causes exponential - line 138: // FIXME: Remove @usableFromInline and @frozen once Hasher is resilient. - line 275: @frozen // FIXME: Should be resilient (rdar://problem/38549901) validation-test/stdlib/Collection/MinimalMutableRangeReplaceableRandomAccessCollectionOfRef.swift (4 lines): - line 11: // FIXME: the test is too slow when the standard library is not optimized. - line 36: // FIXME: use LifetimeTracked. - line 54: // FIXME: use LifetimeTracked. - line 60: // FIXME: use LifetimeTracked. validation-test/stdlib/Collection/DefaultedMutableRangeReplaceableCollectionOfRef.swift (4 lines): - line 11: // FIXME: the test is too slow when the standard library is not optimized. - line 36: // FIXME: use LifetimeTracked. - line 54: // FIXME: use LifetimeTracked. - line 60: // FIXME: use LifetimeTracked. stdlib/cmake/modules/SwiftSource.cmake (4 lines): - line 121: # FIXME: We shouldn't /have/ to build things in a single process. - line 483: # FIXME: Cleaner way to do this? - line 582: # FIXME: These don't really belong inside the swiftmodule, but there's not - line 794: # FIXME: should we use '-resource-dir' here? Seems like it has no advantage lib/Parse/Lexer.cpp (4 lines): - line 31: // FIXME: Figure out if this can be migrated to LLVM. - line 1241: // TODO: Detect, diagnose and skip over zero-width characters if required. - line 1670: // FIXME: Should try to suggest indentation. - line 2856: // FIXME: do something more intelligent here. lib/SIL/IR/AbstractionPattern.cpp (4 lines): - line 338: // TODO: adjust for error type parameter. - line 1006: // [TODO: Improve-Clang-type-printing] - line 1415: // TODO: We should do this once we surface more interesting layout - line 1810: // TODO: Should have collected the conformances used in the original lib/AST/UnqualifiedLookup.cpp (4 lines): - line 209: // FIXME: This field is currently reset to \c nullptr by `lookInMembers` as - line 305: // TODO: Does the debugger client care about compound names? - line 354: // TODO (someday): Instead of adding unavailable entries to Results, - line 654: // TODO: in future, migrate this functionality into ASTScopes tools/SourceKit/lib/SwiftLang/SwiftLangSupport.cpp (4 lines): - line 106: /// TODO: reconsider whether having a default case is a good idea. - line 387: // FIXME: The code-completion kind is also used for semantic annotations. - line 724: // TODO: reconsider whether having a default case is a good idea. - line 1011: // FIXME: We need the Swift equivalent of Clang's FileEntry. lib/IRGen/TypeLayoutVerifier.cpp (4 lines): - line 107: // TODO: Update for EnumPayload implementation changes. - line 123: // TODO: Randomize the set of extra inhabitants we check. - line 128: // TODO: Randomize the filler. - line 163: // TODO: Randomize the filler. lib/Sema/SourceLoader.cpp (4 lines): - line 34: // FIXME: Basically the same as SerializedModuleLoader. - line 69: // TODO: Implement? - line 75: // FIXME: Swift submodules? - line 97: // FIXME: Swift submodules? lib/SILGen/SILGenFunction.cpp (4 lines): - line 399: // TODO: This might not be profitable anymore with guaranteed captures, - line 403: // TODO: Use immutable box for immutable captures. - line 600: // FIXME: Doing an AST lookup here is gross and not entirely sound; - line 1146: // TODO: Assert that this cannot happen (rdar://42792053). stdlib/public/core/LazyCollection.swift (4 lines): - line 65: // TODO: swift-3-indexing-model - add docs - line 127: // TODO: swift-3-indexing-model - add docs - line 133: // TODO: swift-3-indexing-model - add docs - line 141: // TODO: swift-3-indexing-model - add docs lib/AST/FrontendSourceFileDepGraphFactory.cpp (4 lines): - line 192: // FIXME: We ought to provide an identifier for extensions so we can - line 332: /// TODO: clean this up, maybe recurse separately for each purpose. - line 402: // TODO: express the multiple provides and depends streams with variadic - line 581: // TODO: express the multiple provides and depends streams with variadic lib/SILOptimizer/Utils/SILInliner.cpp (4 lines): - line 399: // FIXME: Turn this into an assertion instead. - line 813: // TODO: These are free if the metatype is for a Swift class. - line 818: // TODO: Bridge object conversions imply a masking operation that should be - line 831: // TODO: Thick metatypes are free if they don't require generic or lazy unittests/runtime/LongTests/LongRefcounting.cpp (4 lines): - line 21: // FIXME: is EXPECT_UNALLOCATED reliable enough for CI? - line 27: // FIXME: heap assertion for other platforms? - line 65: // FIXME: RC underflow during deinit? - line 450: // FIXME: use the real WeakReference definition lib/AST/SubstitutionMap.cpp (4 lines): - line 335: // FIXME: Query concrete conformances in the generic signature? - line 398: // FIXME: This may not always be true, but it holds for now. - line 400: // FIXME: Rip this out once we can get a concrete conformance from - line 426: // FIXME: Seems like we should be able to get at the intermediate state lib/SILOptimizer/Utils/Devirtualize.cpp (4 lines): - line 57: // FIXME: This is wrong -- we could have a non-generic class nested - line 64: // FIXME: Add support for generic subclasses. - line 1097: // FIXME: devirtualizeWitnessMethod below does not support cases with - line 1183: // TODO: check if we can also de-virtualize partial applies of class methods. unittests/SourceKit/SwiftLang/CursorInfoTest.cpp (3 lines): - line 134: // FIXME: Use shared_ptr ownership to avoid such issues. - line 421: // TODO: This test case relies on the following snippet being slow to type - line 471: // TODO: This test case relies on the following snippet being slow to type lib/Immediate/Immediate.cpp (3 lines): - line 66: // FIXME: Need error-checking. - line 118: // FIXME: Try the appropriate extension for the current platform? - line 214: // TODO: Use OptimizedIRRequest for this. tools/SourceKit/lib/SwiftLang/SwiftDocSupport.cpp (3 lines): - line 309: // FIXME: Not right for extensions of nested generic types - line 669: // FIXME: Handle all attributes. - line 1455: /// FIXME: When request cancellation is implemented and Xcode adopts it, include/swift/ABI/Metadata.h (3 lines): - line 543: // FIXME: https://bugs.swift.org/browse/SR-1155 - line 889: // TODO: add method types or anything else needed for reflection. - line 2099: // TODO: name, type lib/SILGen/SILGenBuiltin.cpp (3 lines): - line 397: // FIXME: Archetype destination type? - line 666: // TODO: Fix this API. - line 683: // TODO: For now, we leave invalid casts in address form so that the runtime lib/Sema/LookupVisibleDecls.cpp (3 lines): - line 744: // FIXME: We check `getSuperclass()` here because we'll be using the - line 766: // FIXME: This path is no substitute for an actual circularity check. - line 1220: // FIXME: when we can parse and typecheck the function body partially for include/swift/Runtime/Numeric.h (3 lines): - line 69: // TODO: Float16 instead of just truncating from float? - line 70: // TODO: Float80 on x86? - line 71: // TODO: Float128 on targets that provide it? stdlib/public/Reflection/TypeRef.cpp (3 lines): - line 643: // FIXME: this is copy&paste from Demangle.cpp - line 767: // FIXME: This is lossy. @objc_metatype is also abstract. - line 1456: // FIXME: Do some validation here? validation-test/stdlib/Collection/DefaultedMutableRandomAccessCollectionOfRef.swift (3 lines): - line 11: // FIXME: the test is too slow when the standard library is not optimized. - line 36: // FIXME: use LifetimeTracked. - line 42: // FIXME: use LifetimeTracked. validation-test/stdlib/Collection/MinimalMutableCollectionOfRef.swift (3 lines): - line 11: // FIXME: the test is too slow when the standard library is not optimized. - line 36: // FIXME: use LifetimeTracked. - line 42: // FIXME: use LifetimeTracked. lib/IDE/ModuleInterfacePrinting.cpp (3 lines): - line 393: // FIXME: not sufficient to establish a total order for overloaded decls. - line 627: // FIXME: const-ness on the clang API. - line 957: // FIXME: we should fix that, since it also affects struct members, etc. lib/SILOptimizer/Transforms/ObjectOutliner.cpp (3 lines): - line 346: // TODO: also exclude custom tail allocated arrays which might have - line 409: // FIXME: Expansion - line 548: // FIXME: Expansion lib/IRGen/IRGenFunction.cpp (3 lines): - line 596: // TODO: add lifetime with matching lifetime in await_async_continuation - line 617: // TODO: emit lifetime.start for this temporary, paired with a - line 666: // TODO: if we have a better idea of what executor to return to than lib/Basic/Cache.cpp (3 lines): - line 100: // FIXME: Not thread-safe! It should avoid deleting the value until - line 111: // FIXME: Not thread-safe! It should avoid deleting the value until - line 120: // FIXME: Implementation. stdlib/public/stubs/Stubs.cpp (3 lines): - line 180: // TODO: replace this with a float16 implementation instead of calling _float. - line 410: // TODO: ensure that the returned sNaN bit pattern matches that of sNaNs - line 599: // FIXME: implement on this platform stdlib/public/core/StringTesting.swift (3 lines): - line 26: // TODO: shared native - line 75: // TODO: shared native - line 115: internal // TODO: figure out if this works as a compiler intrinsic lib/SILOptimizer/SemanticARC/OwnershipLiveRange.cpp (3 lines): - line 163: // TODO: Hoist this out? - line 269: // TODO: If this is useful, move onto OwnedValueIntroducer itself? - line 348: // TODO: Build up phi node web. lib/AST/GenericSignature.cpp (3 lines): - line 296: // FIXME: Actually implement this properly. - line 391: // FIXME: Need to check conditional requirements here. - line 634: // TODO: Statically check other layout constraints, once they can stdlib/public/core/Sequence.swift (3 lines): - line 944: // FIXME: Create reusable RingBuffer - line 1021: // FIXME: Create reusable RingBuffer - line 1226: /* FIXME: ideally for compatibility we would declare include/swift/SIL/SILCloner.h (3 lines): - line 449: // FIXME: This is due to having TypeSubstCloner inherit from - line 675: // FIXME: Add reverse iteration to SILSuccessor, then convert this to an RPOT - line 1157: // TODO: Eliminate store_borrow result so we can use lib/IRGen/EnumPayload.cpp (3 lines): - line 25: // FIXME: Everything here brazenly assumes little-endian-ness. - line 49: // TODO: optimize - line 145: // TODO: make emitGatherSpareBits take an APInt and delete. stdlib/public/core/SwiftNativeNSArray.swift (3 lines): - line 168: //TODO: exception instead of precondition, once that's possible - line 175: //TODO: exception instead of precondition, once that's possible - line 183: //TODO: exceptions instead of preconditions, once that's possible validation-test/stdlib/Collection/DefaultedMutableCollectionOfRef.swift (3 lines): - line 11: // FIXME: the test is too slow when the standard library is not optimized. - line 36: // FIXME: use LifetimeTracked. - line 42: // FIXME: use LifetimeTracked. lib/Serialization/ModuleFile.cpp (3 lines): - line 293: // FIXME: As a bit of a hack, do lookup by the simple name, then filter - line 354: // FIXME: This goes through the full cost of creating a ModuleFile object - line 484: // FIXME: We need a better way to show headers, since they usually /are/ lib/Sema/TypeCheckDistributed.cpp (3 lines): - line 182: // TODO: add note to add signature - line 190: // TODO: add note to add signature - line 198: // TODO: add note to add signature lib/SILOptimizer/Differentiation/LinearMapInfo.cpp (3 lines): - line 111: // TODO: Add a test in the compiler that exercises a similar situation as - line 237: // FIXME: Verify ExtInfo state is correct, not working by accident. - line 487: // TODO: Pattern match to make sure there is at least one `store` to the tools/SourceKit/lib/SwiftLang/SwiftIndexing.cpp (3 lines): - line 224: // FIXME: These APIs allocate memory on the ASTContext, meaning it may not - line 229: // FIXME: refactor the frontend to provide an easy way to figure out the - line 235: // FIXME: Not knowing what went wrong is pretty bad. loadModule() should be lib/Basic/Unix/TaskQueue.inc (3 lines): - line 332: // TODO: add support for choosing a better default value for - line 348: /// FIXME: only handles stdout pipes, ignores stderr pipes. - line 570: // FIXME: longer term, this should probably either be restructured to lib/Driver/ToolChains.cpp (3 lines): - line 67: // FIXME: SingleCompile has not filtered its inputs in the past and now people - line 338: // TODO: Should we support -fcoverage-compilation-dir? - line 789: // FIXME: Get these and other argument strings from the same place for both stdlib/public/core/StringComparison.swift (3 lines): - line 136: // TODO: This gives us a consistent and good ordering, but technically it - line 194: // TODO: Just call the normalizer directly with range - line 207: // TODO: Just call the normalizer directly lib/SIL/IR/SILConstants.cpp (3 lines): - line 381: // TODO: Could have an inline representation for strings if thre was demand, - line 749: // TODO: Could compress the empty array representation if there were a reason - line 1106: // TODO: print the call-stack in a controlled way if needed. lib/ClangImporter/ClangAdapter.cpp (3 lines): - line 368: // FIXME: Types that can be mapped, but aren't yet. - line 514: // FIXME: CFErrorDomain is marked as CF_EXTENSIBLE_STRING_ENUM, but it turned - line 643: // FIXME: No way to express this in Objective-C. lib/SILOptimizer/Transforms/AccessEnforcementDom.cpp (3 lines): - line 43: /// FIXME: This pass currently only runs in the last-chance pipeline, with a - line 122: // TODO: Separate this into a shared analysis and factor it with - line 126: // TODO: This could be made more precise by querying AccessStorageAnalysis. validation-test/stdlib/SwiftNativeNSBase.swift (3 lines): - line 27: // FIXME: This should be based on a runtime library version check. - line 56: .skip(.tvOSSimulatorAny(/*TODO: 0...13, reason: */"lazy objc naming is not available on these OSes")) - line 57: .skip(.watchOSSimulatorAny(/*TODO: 0...6, reason: */"lazy objc naming is not available on these OSes")) stdlib/public/core/UnsafeRawPointer.swift (3 lines): - line 361: // TODO: to support misaligned raw loads, simply remove this assumption. - line 917: // TODO: to support misaligned raw loads, simply remove this assumption. - line 974: // FIXME: to be replaced by _memcpy when conversions are implemented. lib/Sema/CSStep.h (3 lines): - line 682: /// FIXME: This is performance hack, which should go away. - line 939: /// TODO: In diagnostic mode conjunction evaluation should stop - line 951: // TODO: In diagnostic mode, let's consider this conjunction validation-test/stdlib/Collection/MinimalMutableRandomAccessCollectionOfRef.swift (3 lines): - line 11: // FIXME: the test is too slow when the standard library is not optimized. - line 36: // FIXME: use LifetimeTracked. - line 42: // FIXME: use LifetimeTracked. lib/IDE/IDETypeChecking.cpp (3 lines): - line 43: // FIXME: We can remove this if @_nonSendable stops creating extensions. - line 311: // FIXME: Don't skip layout requirements. - line 351: // FIXME: Need to handle conditional requirements here! lib/SILOptimizer/FunctionSignatureTransforms/FunctionSignatureOpts.h (3 lines): - line 56: /// TODO: Could we make ArgumentDescriptors just optional and once they have - line 190: /// TODO: Rename to willModifySelfArgument. - line 211: /// FIXME: Change this to take a SmallString as an out parameter? include/swift/SIL/SILArgument.h (3 lines): - line 230: /// FIXME: Once SILPhiArgument actually implies that it is a phi argument, - line 244: /// FIXME: Once SILPhiArgument actually implies that it is a phi argument, - line 251: /// FIXME: Once SILPhiArgument actually implies that it is a phi argument, include/swift/ABI/TaskStatus.h (3 lines): - line 68: // TODO: cache - line 83: // FIXME: I don't really know what this should look like right now. - line 196: // FIXME: just set prepend to the current head, no need to traverse. include/swift/Basic/LangOptions.h (3 lines): - line 230: // FIXME: This should probably be limited to the particular SourceFile. - line 370: /// [TODO: Clang-type-plumbing] Turn on for feature rollout. - line 473: /// TODO: remove this when @_implementationOnly modules are robust enough. lib/SIL/Verifier/SILOwnershipVerifier.cpp (3 lines): - line 81: // TODO: This class uses a bunch of global state like variables. It should be - line 434: // TODO: We could ignore this error and emit a more specific error on - line 440: // TODO: Add a flag that associates the terminator instruction with lib/Sema/TypeCheckCircularity.cpp (3 lines): - line 307: // TODO: skip non-generic types in different modules? - line 311: // TODO: skip non-generic types in different modules? - line 516: // TODO: we can also suppress this if the cycle would exist independently. tools/swift-llvm-opt/LLVMOpt.cpp (3 lines): - line 86: // TODO: I wanted to call this 'verify', but some other pass is using this - line 120: // TODO: Is this the right thing to do here? - line 191: // FIXME: We should dyn_cast this when supported. lib/IRGen/GenTuple.cpp (3 lines): - line 214: // FIXME: Spare bits between tuple elements. - line 271: // FIXME: Spare bits between tuple elements. - line 312: // TODO: Should be a SILType. lib/Sema/TypeCheckExprObjC.cpp (3 lines): - line 26: // TODO: Native keypaths - line 203: // TODO: Perhaps we can map subscript components to dictionary keys. - line 362: // FIXME: Warn about non-KVC-compliant getter/setter names? lib/Sema/ConstraintGraph.cpp (3 lines): - line 392: // TODO: This might be an overkill but it's (currently) - line 1632: // FIXME: Highlight the offending node/constraint/etc. - line 1695: // FIXME: Also check to make sure the equivalence classes aren't too large? lib/IDE/IDERequests.cpp (3 lines): - line 202: // FIXME: Even implicit Stmts should have proper ranges that include any - line 214: // FIXME: Even implicit Stmts should have proper ranges that include any - line 963: // FIXME: we should receive error type instead of null type. stdlib/include/llvm/ADT/STLExtras.h (3 lines): - line 505: /// FIXME: Currently if RangeT && is a rvalue reference to a temporary, the - line 609: // ^ TODO: Implement random access methods. - line 613: // ^ FIXME: This follows boost::make_zip_iterator's assumption that all validation-test/Reflection/reflect_Enum_value.swift (3 lines): - line 313: // XXX TODO: Figure out why the type reference is dumped differently sometimes: - line 324: // XXX TODO: Figure out why the type reference is dumped differently sometimes: - line 419: // XXX TODO: test enum with thin function payload XXX stdlib/public/SwiftShims/Visibility.h (3 lines): - line 37: // TODO: These macro definitions are duplicated in BridgedSwiftObject.h. Move - line 162: // FIXME: this #else should be some sort of #elif Windows - line 211: // TODO: use this in shims headers in overlays. lib/SILOptimizer/LoopTransforms/ArrayBoundsCheckOpts.cpp (3 lines): - line 108: // TODO: What else. - line 673: // TODO: obviously we need to handle many more patterns. - line 1140: // TODO: create one if necessary. lib/IRGen/GenArchetype.cpp (3 lines): - line 188: // TODO: don't give this absolute precedence over other access paths. - line 196: // TODO: this isn't necessarily optimal if the direct conformance isn't - line 343: // TODO: Create NonFixedSizeArchetypeTypeInfo and return it. include/swift/Sema/ConstraintGraph.h (3 lines): - line 307: /// FIXME: This is needed due to some ordering dependencies in the - line 391: // FIXME: Potentially side-effectful. - line 398: // FIXME: Potentially side-effectful. lib/Frontend/CompilerInvocation.cpp (3 lines): - line 1257: // TODO: improve the handling of RuntimeIncludePath. - line 1742: // FIXME: this should distinguish between key and value. - line 2287: // FIXME: In order to support batch mode properly, the migrator would have stdlib/private/StdlibUnittest/RaceTest.swift (3 lines): - line 420: // FIXME: protect this class against false sharing. - line 422: // FIXME: protect every element of 'raceData' against false sharing. - line 502: // FIXME: why doesn't the bracket syntax work? include/swift/SIL/SILFunction.h (3 lines): - line 229: /// TODO: Why is this using a std::string? Why don't we use uniqued - line 776: /// TODO: This needs a better name. - line 868: /// FIXME: All functions should have locations, so this method should not be validation-test/stdlib/String.swift (3 lines): - line 658: // FIXME: Ideally, appending to a Substring with a unique buffer reference - line 864: // FIXME: We have to use Swift 4's Substring to get the desired storage - line 1329: // FIXME: note changed String(describing:) results lib/RemoteAST/RemoteAST.cpp (3 lines): - line 36: // TODO: Develop a proper interface for this. - line 402: // TODO: handle resilient types - line 479: // TODO: this would be useful for resilience lib/ClangImporter/ImportName.h (3 lines): - line 159: /// FIXME: All other version information is in Version.h. Can this go there - line 168: /// FIXME: Is this supposed to be the /newest/ version, or a canonical - line 356: // TODO: remove when we drop the options (i.e. import all names) stdlib/public/core/ExistentialCollection.swift (3 lines): - line 13: // TODO: swift-3-indexing-model: perform type erasure on the associated - line 346: // TODO: swift-3-indexing-model: forward the following methods. - line 362: // TODO: swift-3-indexing-model: forward the following methods. lib/SILOptimizer/IPO/CapturePropagation.cpp (3 lines): - line 149: // TODO: MultiValueInstruction? - line 311: /// TODO: Check for other profitable constant propagation, like builtin compare. - line 354: // TODO: maybe we can skip this restriction when we have semantic ARC. lib/SILOptimizer/Transforms/SILSROA.cpp (3 lines): - line 202: // TODO: Add op_fragment support for tuple type - line 216: // TODO: Handle DIExpr that is already attached - line 232: // TODO: Change this into an assert. For some reason I am running into compile lib/Demangling/OldDemangler.cpp (3 lines): - line 511: /// TODO: This is an atrocity. Come up with a shorter name. - line 1450: // TODO: If the protocol name was elided from the assoc type mangling, - line 2239: // FIXME: replace with std::optional, when we have it. stdlib/public/runtime/Casting.cpp (3 lines): - line 487: // TODO: avoid unnecessary repeat lookup of - line 615: // FIXME: check superclass constraint here. - line 1027: // FIXME: Can we directly reference the descriptor somehow? lib/Sema/DerivedConformanceCodable.cpp (3 lines): - line 161: // TODO: Ensure the class doesn't already have or inherit a variable named - line 220: // FIXME: Eventually we should find a way to expose this function to the lookup - line 330: // TODO: Investigate typo-correction here; perhaps the case name was include/swift/Frontend/Frontend.h (3 lines): - line 335: // FIXME: This isn't really true, but is a performance issue. - line 418: /// FIXME: The \p module parameter supports the - line 571: /// FIXME: This should be removed eventually, once there are no longer any stdlib/public/Concurrency/AsyncLet.cpp (3 lines): - line 320: // TODO: we need to implicitly await either before the end or here somehow. - line 334: // FIXME: noinline to work around an LLVM bug where the outliner breaks - line 421: // TODO: It would be nice if we could await the future without having to include/swift/Sema/ConstraintLocator.h (3 lines): - line 206: // FIXME: Alignment. - line 436: // FIXME: Alignment. - line 450: // FIXME: Alignment. lib/Frontend/ArgsToFrontendOptionsConverter.cpp (3 lines): - line 85: // FIXME: Remove this flag - line 563: return false; // FIXME: Must continue to run to pass the tests, but should not - line 576: // FIXME: This is a bug that should not happen, but does in tests. include/swift/AST/ProtocolConformance.h (3 lines): - line 199: /// TODO: maybe this should return a Witness? - line 261: /// FIXME: remove uses of this. - line 343: /// TODO: maybe this should return a Witness? tools/SourceKit/tools/sourcekitd-repl/sourcekitd-repl.cpp (3 lines): - line 226: // FIXME: This should not be needed, but seems to help when stdout is being - line 282: // FIXME: We should probably be a bit more clever here about which lines - line 533: // FIXME: UTF-8? What's that? include/swift/SIL/DynamicCasts.h (3 lines): - line 186: // TODO: Bridged casts cannot be expressed by checked_cast_br or - line 315: // TODO: Shouldn't this return getSuccessBlock()->getArgument(0)? - line 320: // TODO: Why isn't this: lib/SILOptimizer/SILCombiner/SILCombinerBuiltinVisitors.cpp (3 lines): - line 341: // FIXME: Should also use SILBuilderWithScope? - line 359: // FIXME: Should also use SILBuilderWithScope? - line 606: // TODO: It's bad that we have to hardcode the payload bit mask here. lib/APIDigester/ModuleAnalyzerNodes.cpp (3 lines): - line 1472: // FIXME: Stay consistent with earlier digests that had underscores here. - line 1627: // FIXME: isFromClang also excludes Swift decls with @objc. We should allow those. - line 1730: // FIXME: This is too conservative. We only _really_ care if this extension lib/SILOptimizer/Mandatory/OSLogOptimization.cpp (3 lines): - line 377: // TODO: fix the globalStrinTableBuiltin error after emitting diagnostics. - line 897: // FIXME: getUniqueBorrowScopeIntroducingValue may look though various storage - line 1065: /// TODO: eventually some of this logic can be moved to stdlib/include/llvm/ADT/Hashing.h (3 lines): - line 326: // FIXME: This needs to be a per-execution seed. This is just a placeholder - line 344: // FIXME: We want to replace is_integral_or_enum and is_pointer here with - line 669: // TODO: Use std::apply when LLVM starts using C++17. lib/SILOptimizer/IPO/ClosureSpecializer.cpp (3 lines): - line 381: // TODO: When we support address types, this code path will need to be - line 487: // TODO: Maybe include invalidation code for CallSiteDescriptor after we erase - line 562: // TODO: We can probably handle other partial applies here. stdlib/public/stubs/MathStubs.cpp (3 lines): - line 62: // FIXME: rdar://14883575 Libcompiler_rt omits muloti4 - line 111: // FIXME: ideally we would have a slow path here for Windows which would be - line 121: // FIXME: https://llvm.org/bugs/show_bug.cgi?id=14469 validation-test/stdlib/Collection/MinimalMutableBidirectionalCollectionOfRef.swift (3 lines): - line 11: // FIXME: the test is too slow when the standard library is not optimized. - line 36: // FIXME: use LifetimeTracked. - line 42: // FIXME: use LifetimeTracked. lib/Parse/Parser.cpp (3 lines): - line 169: // FIXME: this can issue discriminators out-of-order? - line 1177: // FIXME: Support extended escaping string literal. - line 1366: // FIXME: What about generic parameters? include/swift/AST/TypeCheckRequests.h (3 lines): - line 3062: /// FIXME: Once import resolution operates at module-level, this checking can - line 3082: // FIXME: This isn't really a type-checking request, if we ever split off a - line 3102: // FIXME: This isn't really a type-checking request, if we ever split off a lib/Driver/FineGrainedDependencyDriverGraph.cpp (3 lines): - line 223: // TODO move nameForDep into key - line 579: // TODO: disable when not debugging - line 661: /// TODO: break up lib/SILOptimizer/Analysis/MemoryBehavior.cpp (3 lines): - line 40: /// TODO: Clarify what it means to return a MayHaveSideEffects result. Does this - line 345: // FIXME: If the value (or any other values from the instruction that the - line 446: // TODO: The check for not-escaping can probably done easier with the upcoming lib/SIL/IR/SILModule.cpp (3 lines): - line 56: // TODO: should vtables get linkage? - line 683: // FIXME: Could be an assert if we fix non-single-frontend mode to link - line 819: // TODO: We should have an "isNoReturn" bit on Swift's BuiltinInfo, but for lib/ClangImporter/ClangDiagnosticConsumer.cpp (3 lines): - line 72: // FIXME: Ideally, we'd report non-suppressed diagnostics on synthetic - line 140: // FIXME: Map over source ranges in the diagnostic. - line 159: // FIXME: What happens after a fatal error in the importer? validation-test/StdlibUnittest/AtomicInt.swift (3 lines): - line 827: // FIXME: add more tests for fetchAndAnd, like we have for fetchAndAdd. - line 833: // FIXME: add more tests for fetchAndOr, like we have for fetchAndAdd. - line 839: // FIXME: add more tests for fetchAndXor, like we have for fetchAndAdd. lib/SIL/IR/SILBasicBlock.cpp (3 lines): - line 174: // TODO: When we switch to malloc/free allocation we'll be leaking memory - line 197: // TODO: When we switch to malloc/free allocation we'll be leaking memory - line 313: // FIXME: Audit all call sites and make them create the function include/swift/Basic/PrefixMap.h (3 lines): - line 30: // FIXME: The current implementation doesn't rebalance siblings. - line 159: /// TODO: consider just reorganizing cur and its Further node if - line 305: // TODO: balance the subtree when creating nodes to the left or right. lib/SILOptimizer/Transforms/RedundantLoadElimination.cpp (3 lines): - line 993: // TODO: checking may alias with Base is overly conservative, - line 1012: // TODO: checking may alias with Base is overly conservative, - line 1672: // TODO: we should fix this, otherwise we are missing RLE opportunities. lib/SIL/IR/SILArgument.cpp (3 lines): - line 79: // FIXME: SILPhiArgument should only refer to branch arguments. They usually - line 107: // FIXME: Disallowing critical edges in SIL would enormously simplify phi and - line 122: // FIXME: Disallowing critical edges in SIL would enormously simplify phi and include/swift/SIL/SILBuilder.h (3 lines): - line 56: /// TODO: Give this ownership of InsertedInstrs and migrate users that - line 99: /// TODO: This can be made cleaner by using a PointerUnion or the like so we - line 229: // FIXME: Audit all uses and enable this assertion. include/swift/SIL/SILFunctionConventions.h (3 lines): - line 115: // TODO: Always require a function type - line 124: // TODO: Always require a function type - line 133: // TODO: Always require a function type lib/LLVMPasses/LLVMMergeFunctions.cpp (3 lines): - line 18: // TODO: It could make sense to generalize this pass and move it to LLVM. - line 25: // There is a big TODO: currently there is a large code overlap in this file - line 1062: // TODO: Use a better name than just adding a suffix. Ideally it would be stdlib/public/runtime/ReflectionMirror.cpp (3 lines): - line 107: // TODO: Should look through existential metatypes too, but it doesn't - line 659: // FIXME: If the class has ObjC heritage, get the field offset using the ObjC - line 929: /// TODO: Implement specialized mirror witnesses for all kinds. stdlib/include/llvm/Support/Compiler.h (3 lines): - line 155: // TODO: remove this workaround when PR33518 is resolved. - line 189: // FIXME: Provide this for PE/COFF targets. - line 495: // FIXME: Move this to a private config.h as it's not usable in public headers. stdlib/public/core/Policy.swift (3 lines): - line 72: // FIXME: it should be the other way round, Float = Float32, Double = Float64, - line 431: // FIXME: is this the right precedence level for "..." ? - line 453: // FIXME: ~= will be built into the compiler. lib/Serialization/ModuleFormat.h (3 lines): - line 561: /// TODO: Float, string, char, etc. - line 1427: // TODO: remove the unnecessary FuncDecl components here - line 1603: // FIXME: is the type necessary? lib/IRGen/GenStruct.cpp (3 lines): - line 154: // FIXME: cache the physical field index in the VarDecl. - line 672: // FIXME: Spare bits between struct members. - line 746: // FIXME: Handle resilience validation-test/stdlib/Collection/DefaultedMutableBidirectionalCollectionOfRef.swift (3 lines): - line 11: // FIXME: the test is too slow when the standard library is not optimized. - line 36: // FIXME: use LifetimeTracked. - line 42: // FIXME: use LifetimeTracked. stdlib/public/Concurrency/TaskStatus.cpp (3 lines): - line 490: // FIXME: allow dynamic extension/correction? - line 573: // FIXME: allow dynamic extension/correction? - line 592: // TODO: attempt to escalate the thread running the task, if it's stdlib/private/StdlibUnittest/StdlibUnittest.swift (3 lines): - line 766: // FIXME: Add the .exit case when there is a way to suppress when not. - line 2228: // FIXME: how to get the simulator version *without* UIKit? - line 2818: // TODO: swift-3-indexing-model: add tests for this function. stdlib/private/StdlibCollectionUnittest/CheckSequenceType.swift (2 lines): - line 1646: // FIXME: swift-3-indexing-model: add tests for `underestimatedCount` - line 1739: // FIXME: this line should read: validation-test/stdlib/Collection/MinimalRangeReplaceableBidirectionalCollectionOfRef.swift (2 lines): - line 11: // FIXME: the test is too slow when the standard library is not optimized. - line 36: // FIXME: use LifetimeTracked. lib/Sema/PlaygroundTransform.cpp (2 lines): - line 600: // FIXME: This is a band-aid used to work around the fact that the - line 859: // FIXME: Remove this lib/SILGen/SILGenDecl.cpp (2 lines): - line 166: // FIXME: This is not a good place for FormalEvaluationScope + - line 313: // TODO: Make sure we dump var. lib/IRGen/MetadataLayout.cpp (2 lines): - line 174: // FIXME: Should this be an invariant load? - line 660: // TODO: implement resilient metadata layout include/swift/AST/TypeMatcher.h (2 lines): - line 261: /// FIXME: Split this out into cases? - line 265: // FIXME: Compare throws()? Both existing subclasses would prefer lib/SILOptimizer/Utils/Existential.cpp (2 lines): - line 184: // TODO: a general Optional elimination sil-combine could - line 340: // TODO: Once we have a way to introduce more constrained archetypes, handle lib/SILOptimizer/Mandatory/PerformanceDiagnostics.cpp (2 lines): - line 165: // TODO: be more specific on casting. - line 171: // TODO: be more specific on metadata. lib/SILOptimizer/UtilityPasses/SILSkippingChecker.cpp (2 lines): - line 49: // FIXME: We can probably skip property initializers, too. - line 62: // FIXME: Identify __ivar_destroyer, __allocating_init, and validation-test/stdlib/Array/ContiguousArray_MutableRandomAccessCollectionRef.swift (2 lines): - line 36: // FIXME: use LifetimeTracked. - line 42: // FIXME: use LifetimeTracked. lib/SILOptimizer/Transforms/TempRValueElimination.cpp (2 lines): - line 77: /// TODO: Check if we still need to handle stores when RLE supports OSSA. - line 151: // TODO: handle non-destructive projections of enums validation-test/stdlib/Array/Array_MutableRandomAccessCollectionRef.swift (2 lines): - line 36: // FIXME: use LifetimeTracked. - line 42: // FIXME: use LifetimeTracked. lib/SILGen/SwitchEnumBuilder.h (2 lines): - line 24: /// TODO: std::variant. - line 92: /// TODO: Allow cases to take JumpDest as continuation blocks and then utils/gyb_syntax_support/DeclNodes.py (2 lines): - line 487: # FIXME: technically misnamed; should be "ImportPathComponent" - line 494: # FIXME: technically misnamed; should be "ImportPath" include/swift/SILOptimizer/Utils/ValueLifetime.h (2 lines): - line 36: /// TODO: When critical edges are universally prohibited, completely replace the - line 49: /// TODO: combine this with PrunedLivenessBoundary. utils/swift_build_support/swift_build_support/host_specific_configuration.py (2 lines): - line 65: # FIXME: We should move the platform-derived arguments to be entirely - line 117: # FIXME: Note, `build-script-impl` computed a property here include/swift/SIL/RuntimeEffect.h (2 lines): - line 37: /// TODO: distinguish between metadata runtime functions which only lock and - line 43: /// TODO: distinguish between casting runtime functions which only lock and stdlib/public/core/StringGuts.swift (2 lines): - line 313: // FIXME: Remove. Still used by swift-corelibs-foundation - line 319: // FIXME: Remove. Still used by swift-corelibs-foundation validation-test/stdlib/Collection/MinimalRandomAccessCollectionOfRef.swift (2 lines): - line 11: // FIXME: the test is too slow when the standard library is not optimized. - line 36: // FIXME: use LifetimeTracked. lib/SILOptimizer/Transforms/SpeculativeDevirtualizer.cpp (2 lines): - line 496: // TODO: The ordering of checks may benefit from using a PGO, because - line 503: // FIXME: Add support for generic subclasses. stdlib/public/runtime/ConcurrencyExclusivity.inc (2 lines): - line 238: // TODO: This probably will need 32 bit help. - line 373: // TODO: Can we use defer in the runtime? lib/Frontend/ArgsToFrontendInputsConverter.cpp (2 lines): - line 102: return false; // FIXME: Don't bail out for duplicates, too many tests depend - line 114: return false; // FIXME: Don't bail out for duplicates, too many tests depend tools/SourceKit/lib/SwiftLang/SwiftLangSupport.h (2 lines): - line 488: /// FIXME: This move to libIDE, but currently depends on the UIdentVisitor. - line 761: // FIXME: Remove this once rdar://problem/19720334 is complete. include/swift/Runtime/Concurrency.h (2 lines): - line 115: // TODO: "async let wait" and "async let destroy" would be expressed - line 585: /// TODO: decide what this interface should really be. lib/SILOptimizer/Transforms/AssemblyVisionRemarkGenerator.cpp (2 lines): - line 481: // TODO: We could emit at this point a msg for temporary allocations. - line 773: // TODO: Put this on LangOpts as a helper. lib/SIL/IR/SILProfiler.cpp (2 lines): - line 278: // TODO: There's an outstanding issue here with LazyInitializerExpr. A LIE - line 1168: // TODO: Mapper needs to calculate a function hash as it goes. lib/IDE/TypeContextInfo.cpp (2 lines): - line 85: // TODO: Implement? - line 107: // TODO: Do we need '.none' for Optionals? stdlib/public/core/StringBreadcrumbs.swift (2 lines): - line 20: // TODO: does this need to be a pair?.... Can we be smaller than Int? - line 23: // TODO: Does this need to be inout, unique, or how will we be enforcing validation-test/stdlib/Collection/MinimalBidirectionalCollectionOfRef.swift (2 lines): - line 11: // FIXME: the test is too slow when the standard library is not optimized. - line 36: // FIXME: use LifetimeTracked. lib/SILOptimizer/Transforms/PhiArgumentOptimizations.cpp (2 lines): - line 122: // FIXME: Replace with generic ownership rauw for phi args when it is - line 319: /// TODO: Handle tuples (but this is not so important). validation-test/stdlib/Collection/MinimalCollectionOfRef.swift (2 lines): - line 11: // FIXME: the test is too slow when the standard library is not optimized. - line 36: // FIXME: use LifetimeTracked. benchmark/single-source/Exclusivity.swift (2 lines): - line 60: // TODO: - line 96: // TODO: Replacing materializeForSet accessors with yield-once stdlib/public/Concurrency/GlobalExecutor.cpp (2 lines): - line 117: // FIXME: this isn't right for the non-cooperative environment - line 128: // FIXME: this isn't right for the non-cooperative environment include/swift/SILOptimizer/Utils/OwnershipOptUtils.h (2 lines): - line 170: /// FIXME: shouldn't these already be covered by guaranteedUsePoints? - line 369: /// TODO: Rather than use an optional here, we should include an invalid stdlib/public/runtime/Private.h (2 lines): - line 83: // FIXME: remove this constructor and require a response in all cases. - line 212: // FIXME: Use a variable for this. tools/SourceKit/tools/sourcekitd/lib/API/Requests.cpp (2 lines): - line 56: // FIXME: Portability. - line 607: // FIXME: Heavy WIP here. validation-test/stdlib/ErrorHandling.swift (2 lines): - line 33: // FIXME: Seems to have recently regressed - line 96: // TODO: Some way to check string was deallocated? tools/SourceKit/include/SourceKit/Core/LangSupport.h (2 lines): - line 345: // FIXME: the lifetime is actually limited by the RequestDict. - line 462: /// FIXME: this should eventually replace \c AnnotatedDeclaration. lib/SILOptimizer/Differentiation/Thunk.cpp (2 lines): - line 847: // FIXME: The logic for resolving `assocRef` does not reapply function - line 885: // FIXME: The logic for resolving `assocRef` does not reapply function lib/SILOptimizer/Utils/OptimizerStatsUtils.cpp (2 lines): - line 730: // TODO: handle cases where a function got smaller. - line 883: // FIXME: As a result, the current implementation does not record the fact stdlib/public/core/UnsafePointer.swift (2 lines): - line 662: // FIXME: add tests (since the `count` has been added) - line 891: // TODO: IRGen optimization when `count` value is statically known to be 1, lib/Serialization/SerializedSILLoader.cpp (2 lines): - line 29: // FIXME: Iterating over LoadedModules is not a good way to do this. - line 204: // FIXME: Not the best interface. We know exactly which FileUnits may have SIL stdlib/public/core/UnicodeScalar.swift (2 lines): - line 235: // FIXME: Type checker performance prohibits this from being a - line 271: // FIXME: Unicode makes this interesting. lib/Parse/ParsePattern.cpp (2 lines): - line 572: // FIXME: This is a terrible way to catch this. - line 1310: // TODO: Since we expect a pattern in this position, we should optimistically lib/IDE/CompileInstance.cpp (2 lines): - line 65: /// FIXME: Nested types. - line 268: // FIXME: Remove this if possible. stdlib/toolchain/Compatibility50/Overrides.cpp (2 lines): - line 53: // FIXME: delete this #if and dlsym once we don't - line 99: // FIXME: delete this #if and dlsym once we don't lib/Sema/TypeCheckPropertyWrapper.cpp (2 lines): - line 469: // // it must be declared as static. TODO: or global once we allow wrappers on top-level code - line 655: // TODO: fixit insert static? utils/type-layout-fuzzer.py (2 lines): - line 6: # TODO: generate types with generics, existentials, compositions - line 140: # TODO: indirect cases stdlib/private/SwiftPrivate/ShardedAtomicCounter.swift (2 lines): - line 30: // FIXME: guard every element against false sharing. - line 56: // FIXME: non-atomic as a whole! lib/SILOptimizer/Utils/KeyPathProjector.cpp (2 lines): - line 673: // TODO: Look through other conversions, copies, etc.? - line 692: // TODO: right now we can't optimize computed properties that require stdlib/include/llvm/Support/MathExtras.h (2 lines): - line 56: // TODO: Track C++20 std::numbers. - line 57: // TODO: Favor using the hexadecimal FP constants (requires C++17). validation-test/stdlib/Collection/DefaultedRangeReplaceableBidirectionalCollectionOfRef.swift (2 lines): - line 11: // FIXME: the test is too slow when the standard library is not optimized. - line 36: // FIXME: use LifetimeTracked. tools/swift-ide-test/ModuleAPIDiff.cpp (2 lines): - line 783: // FIXME: maybe don't have a default case - line 891: // FIXME: lib/SILOptimizer/PassManager/PassManager.cpp (2 lines): - line 727: // TODO: We currently do not verify the module here since the verifier asserts - line 787: // TODO: Currently, all specialized functions are added to the function validation-test/stdlib/Collection/DefaultedRangeReplaceableRandomAccessCollectionOfRef.swift (2 lines): - line 11: // FIXME: the test is too slow when the standard library is not optimized. - line 36: // FIXME: use LifetimeTracked. stdlib/public/core/SetBridging.swift (2 lines): - line 445: // FIXME: swift-3-indexing-model: try to remove the cocoa reference, but - line 630: // FIXME: what if `s` is native storage, but for different key/value type? benchmark/utils/DriverUtils.swift (2 lines): - line 425: // FIXME: there is a Linux PMC API you can use to get this, but it's - line 470: /// FIXME: This current implementation doesn't work on Linux. It is disabled stdlib/public/core/BidirectionalCollection.swift (2 lines): - line 40: // FIXME: Only needed for associated type inference. - line 213: // FIXME: Only needed for associated type inference. stdlib/public/runtime/RefCount.cpp (2 lines): - line 45: side->incrementStrong(n); // FIXME: can there be a nonatomic impl? - line 99: // FIXME: custom side table allocator tools/SourceKit/tools/complete-test/complete-test.cpp (2 lines): - line 33: // FIXME: Platform compatibility. - line 452: // FIXME: kind, semantic context? lib/Driver/FrontendUtil.cpp (2 lines): - line 48: Args.push_back(""); // FIXME: Remove dummy argument. - line 116: // TODO: include Jobs in the diagnostic. unittests/SourceKit/SwiftLang/EditingTest.cpp (2 lines): - line 126: // FIXME: Use shared_ptr ownership to avoid such issues. - line 404: // FIXME: we currently "take" the annotations instead of "get"ing them. lib/SILOptimizer/Transforms/DeadCodeElimination.cpp (2 lines): - line 45: // FIXME: Reconcile the similarities between this and - line 612: // FIXME: This code currently can reorder destroys, e.g., when the lib/Driver/ToolChain.cpp (2 lines): - line 57: // FIXME: This should not take down the entire process. - line 217: // FIXME: There might be a tighter criterion to use here? lib/IRGen/ExtraInhabitants.cpp (2 lines): - line 50: // FIXME: We could also make extra inhabitants using spare bits, but we - line 136: // FIXME: This check is unneeded if the type is known to be pure Swift. lib/AST/DeclContext.cpp (2 lines): - line 959: // FIXME: (transitional) increment the redundant "always-on" counter. - line 1016: // FIXME: (transitional) decrement the redundant "always-on" counter. lib/IRGen/GenOpaque.cpp (2 lines): - line 1309: // TODO: use a meaningful mangled name and internal/shared linkage. - line 1385: // TODO: use a meaningful mangled name and internal/shared linkage. lib/IRGen/TypeInfo.h (2 lines): - line 118: /// FIXME -- Create TypeInfoNodes.def and get rid of this field. - line 191: // FIXME: maybe do an assert somehow if we have RTTI enabled. lib/ClangImporter/ImporterImpl.h (2 lines): - line 1416: /// FIXME: This is all a hack; we should have lazier deserialization - line 1569: /// FIXME: this is an elaborate hack to badly reflect Clang's lib/Demangling/NodePrinter.cpp (2 lines): - line 2389: // TODO: check if this is correct - line 2529: // FIXME: Depth won't match when a generic signature applies to a stdlib/private/SwiftPrivateLibcExtras/Subprocess.swift (2 lines): - line 182: // FIXME: Come up with a better way to deal with APIs that are pointers on some - line 304: // FIXME: Retry in this case. stdlib/public/core/Reverse.swift (2 lines): - line 228: // FIXME: swift-3-indexing-model: `-n` can trap on Int.min. - line 236: // FIXME: swift-3-indexing-model: `-n` can trap on Int.min. utils/protocol_graph.py (2 lines): - line 39: # Pattern to recognize stdlib identifiers (FIXME: doesn't handle Unicode). - line 84: # FIXME: doesn't respect strings or comment nesting) lib/SIL/IR/ValueOwnership.cpp (2 lines): - line 81: CONSTANT_OWNERSHIP_INST(Owned, GlobalValue) // TODO: is this correct? - line 149: // TODO: It would be great to get rid of these. lib/IDE/CodeCompletionDiagnostics.cpp (2 lines): - line 91: // FIXME: 'RawAccessorKind' is always 2 (NOT_ACCESSOR_INDEX). - line 160: // FIXME: Could we use 'diag::async_in_nonasync_function'? lib/IRGen/SwitchBuilder.h (2 lines): - line 120: // TODO: It may make sense to save both case values, and pick which one - line 196: // TODO: Since fast isel doesn't support switch insns, we may want to lib/Sema/TypeChecker.cpp (2 lines): - line 398: // FIXME: Don't let unbound generic types escape type resolution. - line 402: // FIXME: Don't let placeholder types escape type resolution. include/swift/Frontend/FrontendInputsAndOutputs.h (2 lines): - line 140: /// FIXME: When batch mode is complete, this function should be obsolete. - line 152: /// FIXME: Should combine all primaries for the result lib/IDE/ExprContextAnalysis.cpp (2 lines): - line 206: // TODO: Implement other expressions? - line 563: // FIXME: Verify ExtInfo state is correct, not working by accident. validation-test/stdlib/Array/ArraySlice_MutableRandomAccessCollectionRef.swift (2 lines): - line 36: // FIXME: use LifetimeTracked. - line 42: // FIXME: use LifetimeTracked. lib/SIL/IR/SILBuilder.cpp (2 lines): - line 505: // TODO: This should really be an operation on type lowering. - line 534: // TODO: Can we put this on type lowering? It would take a little bit of work lib/AST/Parameter.cpp (2 lines): - line 24: /// TODO: unique and reuse the () parameter list in ASTContext, it is common to - line 75: // FIXME: Figure out how to clone default arguments as well. lib/SILOptimizer/Utils/BasicBlockOptUtils.cpp (2 lines): - line 134: // TODO: this is an awkward way to check for guaranteed terminator results. - line 188: // FIXME: cond_br args should not exist in OSSA lib/SIL/IR/Linker.cpp (2 lines): - line 306: // TODO: There might be a two step solution where the init_existential_inst - line 321: // TODO: There might be a two step solution where the init_existential_inst stdlib/include/llvm/ADT/Twine.h (2 lines): - line 63: /// We maintain a number of invariants on Twine objects (FIXME: Why): - line 371: // FIXME: Unfortunately, to make sure this is as efficient as possible we validation-test/stdlib/StringUTF8.swift (2 lines): - line 92: // FIXME: Bridge small non-ASCII as StringStorage - line 100: // FIXME: Bridge small non-ASCII as StringStorage lib/SILOptimizer/Mandatory/DiagnoseStaticExclusivity.cpp (2 lines): - line 1010: // TODO: We currently assume @in/@in_guaranteed are only used for - line 1054: /// TODO: This is currently a module transform to ensure that source-level lib/SILOptimizer/Transforms/DestroyHoisting.cpp (2 lines): - line 151: // TODO: investigate the benchmark regressions and enable store-expansion more - line 657: // TODO: we could do a worklist algorithm here instead of iterating through lib/SILOptimizer/Utils/ShrinkBorrowScope.cpp (2 lines): - line 110: // TODO: It is possible to do better here by looking at the address that is - line 230: // TODO: Handle loops. lib/Basic/Version.cpp (2 lines): - line 311: // FIXME: When we switch to Swift 5 by default, the "4" case should return - line 333: // FIXME: When Swift 6 becomes real, remove 'REQUIRES: asserts' from tests lib/SIL/Verifier/LinearLifetimeChecker.cpp (2 lines): - line 556: // FIXME: rdar://71240363. This assert does not make sense because - line 562: // assert, but I'm leaving the FIXME as a placeholder for that work. lib/SILOptimizer/Analysis/AccessSummaryAnalysis.cpp (2 lines): - line 131: // FIXME: These likely represent scenarios in which we're not generating - line 155: /// FIXME: This should be checked in the SILVerifier, with consideration for the lib/SILGen/SwitchEnumBuilder.cpp (2 lines): - line 76: // TODO: We could store the data in CaseBB form and not have to do this. - line 98: // TODO: Refactor this into a maybe load. validation-test/stdlib/Collection/DefaultedRangeReplaceableCollectionOfRef.swift (2 lines): - line 11: // FIXME: the test is too slow when the standard library is not optimized. - line 36: // FIXME: use LifetimeTracked. lib/SILOptimizer/Analysis/SimplifyInstruction.cpp (2 lines): - line 545: // TODO: Handle some of the llvm intrinsics here. - line 651: // FIXME: Add cases where we can do something, eg, (x - x) -> 0 validation-test/stdlib/Collection/DefaultedRandomAccessCollectionOfRef.swift (2 lines): - line 11: // FIXME: the test is too slow when the standard library is not optimized. - line 36: // FIXME: use LifetimeTracked. lib/IDE/CodeCompletionCache.cpp (2 lines): - line 90: // FIXME: we could write the results to disk in the background, since they're - line 352: // FIXME: compress bitfield lib/Basic/SourceLoc.cpp (2 lines): - line 26: // FIXME: This depends on the buffer IDs chosen by llvm::SourceMgr. - line 318: // FIXME: CharSourceRange is a half-open character-based range, while benchmark/single-source/PrimsNonStrongRef.swift (2 lines): - line 37: // TODO: Stabilize weak benchmark. - line 46: // TODO: Stabilize weak benchmark. lib/SILOptimizer/ARC/ARCRegionState.h (2 lines): - line 29: // TODO: These are relatively expensive, find something else to use here. - line 64: /// TODO: This needs a better name. lib/SILOptimizer/IPO/CrossModuleOptimization.cpp (2 lines): - line 110: /// TODO: separate the type visiting logic in SILCloner from the instruction - line 517: // TODO: find a way to do this without modifying the AST. The AST should be validation-test/stdlib/Collection/DefaultedBidirectionalCollectionOfRef.swift (2 lines): - line 11: // FIXME: the test is too slow when the standard library is not optimized. - line 36: // FIXME: use LifetimeTracked. include/swift/SILOptimizer/Utils/CFGOptUtils.h (2 lines): - line 153: /// FIXME: This should never be called! Fix passes that create critical edges. - line 200: /// TODO: lib/Sema/TypeCheckType.h (2 lines): - line 42: // FIXME: Move this flag to TypeResolverContext. - line 361: // FIXME: Move SILType to TypeResolverContext. stdlib/public/core/StringUTF16View.swift (2 lines): - line 149: // TODO: If transcoded is 1, can we just skip ahead 4? - line 535: // TODO: Generic _distance is still very slow. We should be able to lib/SILOptimizer/ARC/ARCMatchingSet.cpp (2 lines): - line 48: // FIXME: Refactor this into its own function. - line 130: // FIXME: Refactor this into its own function. lib/SILOptimizer/ARC/GlobalARCSequenceDataflow.cpp (2 lines): - line 160: // TODO: I think this is a copy paste error, since we a trap BB should have - line 187: // TODO: When data handles are introduced, print that instead. This code validation-test/stdlib/Collection/DefaultedCollectionOfRef.swift (2 lines): - line 11: // FIXME: the test is too slow when the standard library is not optimized. - line 36: // FIXME: use LifetimeTracked. stdlib/public/runtime/ErrorObject.mm (2 lines): - line 251: // TODO: If the error type is a simple enum with no associated values, we - line 409: // TODO: Would be great if Clang had a return-three convention so we didn't lib/SILGen/ArgumentSource.cpp (2 lines): - line 127: // FIXME: Once uncurrying is removed, get rid of this constructor. - line 247: Storage.get(StoredKind)->dump(out); // FIXME: indent stdlib/include/llvm/ADT/iterator_range.h (2 lines): - line 35: //TODO: Add SFINAE to test that the Container's iterators match the range's - line 39: //TODO: Consider ADL/non-member begin/end calls. stdlib/public/core/Dictionary.swift (2 lines): - line 130: // FIXME: decide if this guarantee is worth making, as it restricts - line 1676: // FIXME: Doesn't use the withTypeName argument yet stdlib/public/core/ContiguousArrayBuffer.swift (2 lines): - line 235: // FIXME: Dynamic casts don't currently work without objc. - line 507: // FIXME: Manually swap because it makes the ARC optimizer happy. See validation-test/stdlib/Collection/MinimalRangeReplaceableCollectionOfRef.swift (2 lines): - line 11: // FIXME: the test is too slow when the standard library is not optimized. - line 36: // FIXME: use LifetimeTracked. include/swift/SIL/SILLinkage.h (2 lines): - line 18: // FIXME: Remove after fixmeWitnessHasLinkageThatNeedsToBePublic is removed. - line 258: // FIXME: This should not be necessary, but it looks like visibility rules for lib/SILOptimizer/ARC/RefCountState.cpp (2 lines): - line 315: // TODO: Add support for working around control dependence issues. - line 760: // TODO: Add support for determining control dependence. benchmark/single-source/CharacterProperties.swift (2 lines): - line 343: // TODO: If UnicodeScalars ever exposes category, etc., implement the others! - line 436: // TODO: run_CharacterPropertiesComputed lib/AST/Pattern.cpp (2 lines): - line 251: case PatternKind::Expr:// FIXME: expr nodes are not modeled right in general. - line 340: // FIXME: This is unsound, since type checking will turn other more lib/IRGen/LocalTypeData.cpp (2 lines): - line 271: // TODO: we could potentially end up calling this redundantly with a - line 322: // FIXME: This check doesn't entirely behave correctly for non-transparent include/swift/Markup/XMLUtils.h (2 lines): - line 22: // FIXME: copied from Clang's - line 56: // FIXME: copied from Clang's lib/SIL/IR/SILValue.cpp (2 lines): - line 102: // TODO: Eventually, rather than SILGen'ing a borrow scope for owned - line 145: // TODO: bbargs should probably use one of their operand locations. lib/Basic/StringExtras.cpp (2 lines): - line 57: // FIXME: This implementation is woefully inefficient. - line 746: // FIXME: Is this still relevant? stdlib/private/StdlibUnittestFoundationExtras/StdlibUnittestFoundationExtras.swift (2 lines): - line 91: @nonobjc // FIXME: there should be no need in this attribute. - line 112: @nonobjc // FIXME: there should be no need in this attribute. lib/IRGen/GenIntegerLiteral.cpp (2 lines): - line 178: // TODO: make this shared within the image - line 388: // TODO: add runtime functions for some of these? lib/SILOptimizer/Transforms/PerformanceInliner.cpp (2 lines): - line 299: // TODO: May be consider also the size of the callee? - line 405: // TODO: Take AI.getSubstitutions() into account. lib/SILOptimizer/Mandatory/OptimizeHopToExecutor.cpp (2 lines): - line 319: // TODO: Is this the correct thing to check? - line 333: // TODO: use esacpe analysis to rule out locally allocated non-stack objects. lib/SILOptimizer/LoopTransforms/ArrayPropertyOpt.cpp (2 lines): - line 395: // TODO: This is way conservative. If there is an unconditionally - line 446: /// FIXME: All functionality for generating valid SIL (including the DomTree) stdlib/public/core/MutableCollection.swift (2 lines): - line 63: // FIXME: Associated type inference requires these. - line 242: // TODO: swift-3-indexing-model - review the following include/swift/SIL/SILInstructionWorklist.h (2 lines): - line 346: // TODO: This name is somewhat unpleasant. Once the type is templated over its - line 353: // TODO: A DenseMap rather than a SmallDenseMap is used here to avoid lib/AST/RequirementMachine/RewriteSystem.cpp (2 lines): - line 340: // FIXME: - line 691: // FIXME: Assert that we diagnosed an error stdlib/public/core/StringStorage.swift (2 lines): - line 174: // TODO: Migrate this to somewhere it can be shared with Array - line 462: // TODO: Refactoring or removing. Excluding the last byte is awkward. stdlib/public/core/FloatingPointRandom.swift (2 lines): - line 57: // TODO: this still isn't quite right, because the computation of delta - line 157: // TODO: this still isn't quite right, because the computation of delta include/swift/Remote/MemoryReader.h (2 lines): - line 75: // FIXME: Assumes host and target have the same endianness. - line 76: // TODO: Query DLQ for endianness of target, compare to endianness of host. stdlib/public/core/MigrationSupport.swift (2 lines): - line 322: // FIXME: - line 504: // TODO: Optimize where `C` is a `ContiguousArrayBuffer`. tools/SourceKit/lib/Support/ImmutableTextBuffer.cpp (2 lines): - line 215: // FIXME: dyn_cast_null does not work with IntrusiveRefCntPtr. - line 264: // FIXME: dyn_cast_null does not work with IntrusiveRefCntPtr. lib/Serialization/ModuleDependencyScanner.cpp (2 lines): - line 102: // FIXME: Query the module interface loader to determine an appropriate - line 191: // FIXME: submodules? lib/SILOptimizer/Mandatory/MoveKillsCopyableValuesChecker.cpp (2 lines): - line 154: // TODO: We really should have all OperandOwnership::InteriorPointer - line 452: // TODO: Emit specific diagnostics here (e.x.: _move of global). utils/swift-bench.py (2 lines): - line 249: # TODO: Handle subprocess.CalledProcessError for this call: - line 358: # TODO: Verify test_name and iters_computed include/swift/AST/FineGrainedDependencies.h (2 lines): - line 138: // TODO: Use llvm structure such as DenseMap. However, DenseMap does not - line 140: // TODO: Consider using an ordered structure to guarantee determinism validation-test/stdlib/Collection/MinimalRangeReplaceableRandomAccessCollectionOfRef.swift (2 lines): - line 11: // FIXME: the test is too slow when the standard library is not optimized. - line 36: // FIXME: use LifetimeTracked. validation-test/stdlib/CollectionOld.swift (2 lines): - line 52: // FIXME: separate r from the expression below pending - line 162: // FIXME: separate ri from the expression below pending include/swift/AST/NameLookupRequests.h (2 lines): - line 85: RequestFlags::Uncached> // FIXME: Cache these - line 129: RequestFlags::Uncached> // FIXME: Cache these include/swift/AST/Witness.h (2 lines): - line 119: // TODO: It's probably a good idea to have a separate 'opaque' bit. - line 129: // TODO: It's probably a good idea to have a separate 'deserialized' bit. lib/IRGen/IRGenMangler.cpp (2 lines): - line 108: // TODO: We could assign a symbolic reference discriminator to refer - line 117: // TODO: We could assign a symbolic reference discriminator to refer stdlib/public/core/PrefixWhile.swift (2 lines): - line 152: // FIXME: should work on the typealias - line 185: // FIXME: should work on the typealias include/swift/Runtime/Atomic.h (2 lines): - line 27: // FIXME: Workaround for rdar://problem/18889711. 'Consume' does not require - line 50: /// TODO: should we make this use non-atomic operations when the runtime lib/SILOptimizer/Mandatory/OwnershipModelEliminator.cpp (2 lines): - line 342: // TODO: SILDebugVariable should define it's key. Until then, we try to be - line 386: // TODO: When LowerAddresses runs before this, we can remove this case. lib/AST/RequirementMachine/RequirementMachine.cpp (2 lines): - line 281: // FIXME: Implement other checks here - line 282: // FIXME: Assert if hadError() is true but we didn't emit any diagnostics? validation-test/stdlib/Inputs/DictionaryKeyValueTypesObjC.swift (2 lines): - line 434: /// FIXME: Some non-zero `opt` might be cases of missed return-autorelease. - line 456: /// FIXME: Some non-zero `opt` might be cases of missed return-autorelease. stdlib/public/core/ManagedBuffer.swift (2 lines): - line 220: // FIXME: workaround for . If we don't - line 497: // FIXME: when our calling convention changes to pass self at +0, validation-test/stdlib/Array/ArraySliceWithNonZeroStartIndex_MutableRandomAccessCollectionRef.swift (2 lines): - line 42: // FIXME: use LifetimeTracked. - line 48: // FIXME: use LifetimeTracked. stdlib/public/core/DictionaryBridging.swift (2 lines): - line 604: // FIXME: swift-3-indexing-model: try to remove the cocoa reference, but - line 811: // FIXME: what if `s` is native storage, but for different key/value type? stdlib/public/Concurrency/Task.swift (2 lines): - line 715: // FIXME: This retain seems pretty wrong, however if we don't we WILL crash - line 846: // FIXME: both of these ought to take their arguments _owned so that lib/IDE/SwiftSourceDocInfo.cpp (2 lines): - line 209: // FIXME: Even implicit Decls should have proper ranges if they include any - line 272: // FIXME: Even implicit Stmts should have proper ranges that include any lib/SILOptimizer/Mandatory/PMOMemoryUseCollector.cpp (2 lines): - line 209: // FIXME: Since we do not support promoting strong_release or release_value - line 422: // TODO: Is it safe to ignore all uses of the open_existential_addr? lib/Syntax/RawSyntax.cpp (1 line): - line 73: // FIXME: The trivia lexer should directly create TriviaPieces so we don't lib/SILOptimizer/IPO/UsePrespecialized.cpp (1 line): - line 88: // TODO: Remove this limitation once public partial specializations include/swift/AST/LookupKinds.h (1 line): - line 58: /// FIXME: Eventually, add NL_ProtocolMembers to this, once all of the include/swift/Basic/Malloc.h (1 line): - line 30: // FIXME: Use C11 aligned_alloc if available. validation-test/stdlib/Collection/DefaultedMutableBidirectionalCollection.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. validation-test/stdlib/Slice/Slice_Of_MinimalBidirectionalCollection_WithPrefixAndSuffix.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. include/swift/Basic/TaskQueue.h (1 line): - line 126: // TODO: remove once -Wdocumentation stops warning for \param, \returns on lib/SILOptimizer/IPO/GlobalOpt.cpp (1 line): - line 43: /// TODO: validation-test/stdlib/Slice/Slice_Of_DefaultedMutableRangeReplaceableRandomAccessCollection_WithPrefixAndSuffix.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. validation-test/stdlib/Slice/Slice_Of_MinimalRangeReplaceableBidirectionalCollection_WithSuffix.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. utils/sil-opt-verify-all-modules.py (1 line): - line 83: # FIXME: sil-opt does not have the '-F' option. lib/SILOptimizer/Analysis/IVAnalysis.cpp (1 line): - line 55: // TODO: MultiValueInstruction validation-test/stdlib/Slice/Slice_Of_DefaultedRangeReplaceableRandomAccessCollection_FullWidth.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. include/swift/Syntax/Format.h (1 line): - line 33: // TODO: Representation for formatting rules, etc. This is just a figment lib/DriverTool/autolink_extract_main.cpp (1 line): - line 191: // FIXME: BinaryFileName below should instead be ld-style names for validation-test/StdlibUnittest/ChildProcessShutdown/FailIfChildCrashesDuringShutdown.swift (1 line): - line 3: // FIXME: this test is failing for watchos validation-test/stdlib/Slice/Slice_Of_DefaultedCollection_WithPrefix.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. validation-test/stdlib/Collection/MinimalMutableRandomAccessCollection.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. include/swift/SIL/SILWitnessTable.h (1 line): - line 15: // (FIXME will be) used by IRGen to create witness tables for protocol dispatch. lib/Frontend/ModuleInterfaceBuilder.cpp (1 line): - line 340: // FIXME: We should surface the module building step to the build system so tools/sil-passpipeline-dumper/SILPassPipelineDumper.cpp (1 line): - line 54: // TODO: add options to manipulate this. lib/Sema/DerivedConformances.cpp (1 line): - line 119: // FIXME: Lift the availability restriction. include/swift/AST/Identifier.h (1 line): - line 101: /// FIXME: We should maybe cache this. validation-test/stdlib/Set.swift (1 line): - line 254: // FIXME: this should be true. validation-test/compiler_crashers_fixed/28184-swift-constraints-constraintsystem-gettypeofmemberreference.swift (1 line): - line 18: // FIXME: Crashing due to lack of get {} include/swift/Sema/OverloadChoice.h (1 line): - line 122: /// FIXME: This needs two bits. Can we pack them somewhere? stdlib/public/core/UnicodeEncoding.swift (1 line): - line 55: // FIXME: this requirement shouldn't be here and is mitigated by the default validation-test/stdlib/Slice/Slice_Of_DefaultedCollection_WithPrefixAndSuffix.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. include/swift/AST/GenericSignature.h (1 line): - line 291: // FIXME: Making this a CanGenericSignature reveals callers are violating lib/Sema/CSClosure.cpp (1 line): - line 1151: // FIXME: This should be done through \c solution instead of utils/sourcekit_fuzzer/sourcekit_fuzzer.swift (1 line): - line 41: // TODO: validation-test/stdlib/Collection/MinimalRangeReplaceableBidirectionalCollection.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. tools/SourceKit/lib/SwiftLang/CodeCompletion.h (1 line): - line 292: // FIXME: hide individual custom completions lib/SILOptimizer/Transforms/ConditionForwarding.cpp (1 line): - line 233: // TODO: Currently disabled because this case may need lifetime extension validation-test/stdlib/Slice/Slice_Of_MinimalRandomAccessCollection_WithPrefixAndSuffix.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. include/swift/Serialization/SerializedModuleLoader.h (1 line): - line 301: /// FIXME: make this an actual import *path* once submodules are designed. lib/SILGen/ResultPlan.cpp (1 line): - line 754: /*TODO: enforcement*/ None, utils/optimizer_counters_to_sql.py (1 line): - line 29: # FIXME: A more efficient representation could be used. validation-test/stdlib/Slice/Slice_Of_DefaultedRangeReplaceableBidirectionalCollection_WithPrefixAndSuffix.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. include/swift/Index/IndexRecord.h (1 line): - line 84: // FIXME: indexUnitTokens could be StringRef, but that creates an impedance validation-test/stdlib/Slice/Slice_Of_MinimalMutableRangeReplaceableBidirectionalCollection_FullWidth.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. SwiftCompilerSources/Sources/SIL/Instruction.swift (1 line): - line 280: // TODO: find a way to directly reuse the BuiltinValueKind enum stdlib/private/OSLog/OSLogTestHelper.swift (1 line): - line 21: // constant evaluated, folded and optimized in the context of a caller. TODO: validation-test/stdlib/Algorithm.swift (1 line): - line 155: // FIXME: Disabled due to Unimplemented: validation-test/stdlib/CharacterPropertiesLong.swift (1 line): - line 58: // TODO: Any thing else we can check in the abstract? validation-test/stdlib/Slice/Slice_Of_MinimalMutableBidirectionalCollection_WithPrefix.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. SwiftCompilerSources/Sources/Optimizer/DataStructures/BasicBlockRange.swift (1 line): - line 138: /// TODO: once we have move-only types, make this a real deinit. lib/SILOptimizer/ARC/ARCMatchingSet.h (1 line): - line 40: /// TODO: This should really be called RCIdentity. lib/AST/DiagnosticConsumer.cpp (1 line): - line 35: // FIXME: Defer text formatting to later in the pipeline. include/swift/Driver/Job.h (1 line): - line 182: /// FIXME: This is not really ideal behaviour -- it would be better to return SwiftCompilerSources/Sources/SIL/GlobalVariable.swift (1 line): - line 24: // TODO: initializer instructions stdlib/public/LLVMSupport/Hashing.cpp (1 line): - line 25: // FIXME: Use atomic operations here so that there is no data race. lib/AST/RequirementMachine/PropertyMap.cpp (1 line): - line 224: // FIXME: Once unification introduces new rules, add asserts requiring validation-test/stdlib/Slice/Slice_Of_MinimalRangeReplaceableRandomAccessCollection_FullWidth.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. validation-test/stdlib/Slice/Slice_Of_DefaultedMutableRangeReplaceableRandomAccessCollection_WithPrefix.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. stdlib/public/core/OptionSet.swift (1 line): - line 97: // FIXME: This initializer should just be the failable init from validation-test/stdlib/Dictionary.swift (1 line): - line 4092: // FIXME: this should be true. lib/IRGen/NominalMetadataVisitor.h (1 line): - line 43: /// TODO: don't add new fields that are implied by the superclass lib/SILGen/ManagedValue.cpp (1 line): - line 208: // SEMANTIC SIL TODO: This should really be called a temporary LValue. SwiftCompilerSources/Sources/Optimizer/DataStructures/InstructionRange.swift (1 line): - line 138: /// TODO: once we have move-only types, make this a real deinit. validation-test/stdlib/Slice/Slice_Of_DefaultedCollection_WithSuffix.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. utils/swift_build_support/swift_build_support/build_graph.py (1 line): - line 27: # TODO: Can we unify po_ordered_nodes and visitedNodes in some way? validation-test/IDE/crashers_fixed/009-swift-performdelayedparsing.swift (1 line): - line 3: // FIXME: we shouldn't back the parser to the beginning of the line, it leads lib/Basic/Unicode.cpp (1 line): - line 23: // TODO: Remove this hack and reevaluate whether we should have any static utils/sil-mode.el (1 line): - line 268: ;; TODO: If we have swift-project-settings enabled, we will know the swift stdlib/public/Platform/POSIXError.swift (1 line): - line 262: // FIXME: EOPNOTSUPP has different values depending on __DARWIN_UNIX03 and validation-test/stdlib/Assert.swift (1 line): - line 151: // FIXME: swift-3-indexing-model: add tests for fatalError() that use non-ASCII lib/IRGen/SwiftTargetInfo.cpp (1 line): - line 234: // FIXME: Complain here? Default target info is unlikely to be correct. validation-test/stdlib/Slice/Slice_Of_DefaultedMutableRandomAccessCollection_WithPrefixAndSuffix.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. lib/SILOptimizer/ARC/RCStateTransitionVisitors.cpp (1 line): - line 77: // TODO: This needs a better name. include/swift/ABI/AsyncLet.h (1 line): - line 41: // TODO: we could offer a "was awaited on" check here lib/AST/TypeWalker.cpp (1 line): - line 132: // TODO: Should this be the only kind of walk we allow? include/swift/AST/TypeAlignments.h (1 line): - line 87: /// TODO: LLVM should provide this. include/swift/IDE/Utils.h (1 line): - line 292: // FIXME: Remove this lib/Sema/CSStep.cpp (1 line): - line 675: // FIXME: Less-horrible but still horrible hack to attempt to lib/SIL/IR/Bridging.cpp (1 line): - line 191: // Thick functions (TODO: conditionally) get bridged to blocks. include/swift/SILOptimizer/PassManager/PassPipeline.h (1 line): - line 104: // FIXME: Comparing the SILOptions by identity should work in practice, but validation-test/stdlib/Slice/Slice_Of_MinimalMutableBidirectionalCollection_WithSuffix.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. SwiftCompilerSources/Sources/Optimizer/DataStructures/BasicBlockSet.swift (1 line): - line 55: /// TODO: once we have move-only types, make this a real deinit. stdlib/public/core/Substring.swift (1 line): - line 714: // FIXME: The other String views should be RangeReplaceable too. validation-test/stdlib/Slice/Slice_Of_DefaultedBidirectionalCollection_WithPrefix.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. lib/SIL/IR/SILInstruction.cpp (1 line): - line 1383: // TODO: We need side-effect analysis and library annotation for this to be lib/SILOptimizer/IPO/GlobalPropertyOpt.cpp (1 line): - line 357: // TODO: handle enums with array data. include/swift/AST/ParameterList.h (1 line): - line 30: // FIXME: Do we really just want to allocate these pointer-aligned? include/swift/SILOptimizer/Utils/InstModCallbacks.h (1 line): - line 109: /// TODO: Now that instructions deletion can be delayed via lib/Sema/DerivedConformanceEquatableHashable.cpp (1 line): - line 960: // FIXME: This is not actually correct. We cannot promise to always validation-test/stdlib/Slice/Slice_Of_DefaultedRangeReplaceableRandomAccessCollection_WithPrefixAndSuffix.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. include/swift/AST/Pattern.h (1 line): - line 450: /// TODO: Introduce type refinement of the value being matched. lib/SILOptimizer/Mandatory/RawSILInstLowering.cpp (1 line): - line 50: // TODO: Fix SILGen so that this is an assert preventing the lowering of validation-test/stdlib/Slice/Slice_Of_MinimalMutableRandomAccessCollection_WithSuffix.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. validation-test/stdlib/Slice/Slice_Of_DefaultedMutableRangeReplaceableRandomAccessCollection_WithSuffix.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. include/swift/SILOptimizer/Analysis/Reachability.h (1 line): - line 16: /// TODO: Add an optimistic data flow for more aggresive optimization: lib/AST/ASTScopeSourceRange.cpp (1 line): - line 150: // TODO: Don't remove the initializer in the rest of the compiler: utils/swift_build_support/swift_build_support/products/benchmarks.py (1 line): - line 103: # TODO check if we should prefer using product.install_toolchain_path include/swift/SIL/SILType.h (1 line): - line 186: // FIXME -- Temporary until LLDB adopts getASTType() stdlib/public/stubs/Random.cpp (1 line): - line 56: #warning TODO: Test swift_stdlib_random on Windows validation-test/stdlib/Slice/Slice_Of_MinimalRandomAccessCollection_WithSuffix.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. stdlib/public/core/Availability.swift (1 line): - line 39: // FIXME: As yet, there is no obvious versioning standard for platforms other validation-test/stdlib/Slice/Slice_Of_MinimalMutableCollection_WithPrefixAndSuffix.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. lib/SILOptimizer/Differentiation/VJPCloner.cpp (1 line): - line 581: // FIXME: Handle indirect differentiation invokers. This may require some stdlib/include/llvm/Support/Alignment.h (1 line): - line 60: /// FIXME: Remove this, make all assign operators constexpr and introduce user include/swift/Option/SanitizerOptions.h (1 line): - line 21: // FIXME: This include is just for llvm::SanitizerCoverageOptions. We should include/swift/Reflection/TypeRef.h (1 line): - line 133: /// FIXME: Implement me! include/swift/AST/TBDGenRequests.h (1 line): - line 170: // FIXME: This should be eliminated. lib/Basic/Platform.cpp (1 line): - line 496: // FIXME: diagnose properly lib/AST/RequirementMachine/RequirementMachineRequests.cpp (1 line): - line 519: // FIXME: Handle allowConcreteGenericParams include/swift/Driver/Driver.h (1 line): - line 122: // FIXME: Eventually this should be replaced by dSYM generation. stdlib/public/core/Misc.swift (1 line): - line 15: // FIXME: Once we have an FFI interface, make these have proper function bodies include/swift/AST/DiagnosticConsumer.h (1 line): - line 111: // FIXME: It's unfortunate that we have to copy the replacement text. include/swift/Driver/FineGrainedDependencyDriverGraph.h (1 line): - line 150: /// TODO: Fix above comment validation-test/compiler_crashers_2_fixed/rdar35441779.swift (1 line): - line 7: // FIXME: Per rdar://problem/35469647, this should be well-formed, but include/swift/SIL/SILNode.h (1 line): - line 237: // TODO: Sort the following in SILNodes.def order include/swift/Basic/SuccessorMap.h (1 line): - line 85: // TODO: this is clearly optimizable to re-use nodes. lib/IRGen/StructLayout.h (1 line): - line 229: // FIXME: InitialNonFixedSize should go in the above, but I'm being validation-test/stdlib/CollectionDiagnostics.swift (1 line): - line 215: // FIXME: Remove -verify-ignore-unknown. include/swift/Basic/ThreadSafeRefCounted.h (1 line): - line 27: /// FIXME: This should eventually move to llvm. validation-test/stdlib/Slice/Slice_Of_MinimalMutableRandomAccessCollection_WithPrefix.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. lib/SILGen/SILGenDestructor.cpp (1 line): - line 89: // FIXME: what should the type of management be for this? validation-test/stdlib/Slice/Slice_Of_MinimalRangeReplaceableBidirectionalCollection_WithPrefix.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. stdlib/public/runtime/ObjCRuntimeGetImageNameFromClass.mm (1 line): - line 55: // FIXME: This is from a later version of . Once the declaration stdlib/public/core/ArraySlice.swift (1 line): - line 279: @inline(__always) // FIXME(TODO: JIRA): Hack around test failure lib/IRGen/Callee.h (1 line): - line 290: // TODO: maybe assert similarity to signature.getType()? validation-test/stdlib/Slice/Slice_Of_MinimalMutableRangeReplaceableCollection_FullWidth.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. lib/Basic/Mangler.cpp (1 line): - line 209: // FIXME: const_casting because llvm::raw_svector_ostream::str() is lib/SILGen/Initialization.h (1 line): - line 78: /// FIXME: provide a reset() operation to support multiple lib/SILOptimizer/Transforms/AccessEnforcementReleaseSinking.cpp (1 line): - line 256: // FIXME: Support ownership. stdlib/public/Concurrency/Mutex.cpp (1 line): - line 18: // FIXME: figure out some reasonable way to share this stuff utils/pass-pipeline/src/passes.py (1 line): - line 4: # TODO: This should not be hard coded. Create a tool in the compiler that knows lib/SIL/Utils/PrunedLiveness.cpp (1 line): - line 109: // TODO: Handle reborrowed copies by considering the extended borrow validation-test/stdlib/Slice/Slice_Of_DefaultedMutableBidirectionalCollection_WithPrefixAndSuffix.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. lib/IRGen/GenObjC.h (1 line): - line 70: /// FIXME: Thunk down to a Swift function value? utils/SwiftIntTypes.py (1 line): - line 101: # FIXME , 'Float80' Revert until I figure out a test failure # Float80 lib/AST/RequirementMachine/MinimalConformances.cpp (1 line): - line 422: // FIXME: Perhaps even if the rule is LHS-simplified, it's parent should be lib/Basic/FileSystem.cpp (1 line): - line 124: // FIXME: This is mostly a simplified version of stdlib/public/core/SmallString.swift (1 line): - line 389: // FIXME: This should be unified with _loadPartialUnalignedUInt64LE. lib/SILOptimizer/Analysis/DestructorAnalysis.cpp (1 line): - line 91: // TODO: enum types. validation-test/stdlib/Slice/Slice_Of_MinimalRandomAccessCollection_WithPrefix.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. validation-test/stdlib/Collection/DefaultedRangeReplaceableCollection.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. lib/IRGen/GenRecord.h (1 line): - line 430: // TODO: If two fields have the same type, they have the same extra validation-test/stdlib/Slice/Slice_Of_MinimalMutableBidirectionalCollection_FullWidth.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. lib/SILOptimizer/Mandatory/DIMemoryUseCollector.h (1 line): - line 109: // TODO: consider just storing the ProjectBoxInst in this case. include/swift/AST/ExistentialLayout.h (1 line): - line 72: // FIXME: Does the superclass have to be @objc? validation-test/stdlib/Slice/Slice_Of_MinimalBidirectionalCollection_FullWidth.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. lib/SILOptimizer/IPO/DeadFunctionElimination.cpp (1 line): - line 373: /// FIXME: Passes should not embed special logic for handling linkage. lib/SILGen/LValue.h (1 line): - line 549: // FIXME: Misnomer. This class is used for both shared (read) and exclusive validation-test/stdlib/StringViews.swift (1 line): - line 25: // FIXME: Foundation leaks through StdlibUnittest. It adds some conformances include/swift/IDE/SyntaxModel.h (1 line): - line 43: /// A marker like 'FIXME:' or 'TODO:' inside a comment. lib/AST/TypeRepr.cpp (1 line): - line 98: // TODO [OPAQUE SUPPORT]: We should probably use something like `Type`'s benchmark/scripts/Benchmark_RuntimeLeaksRunner.in (1 line): - line 49: # TODO: Why are we using booleans to communicate status here? tools/SourceKit/lib/Support/Logging.cpp (1 line): - line 56: // FIXME: Portability. lib/Parse/ParseRegex.cpp (1 line): - line 44: // TODO: We need to be able to pass back a source location to emit the error validation-test/stdlib/Slice/Slice_Of_MinimalRangeReplaceableCollection_WithSuffix.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. validation-test/StdlibUnittest/CrashingTests.swift (1 line): - line 3: // FIXME: this test is failing for watchos validation-test/stdlib/Slice/Slice_Of_DefaultedMutableRangeReplaceableBidirectionalCollection_WithPrefixAndSuffix.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. tools/swift-ast-script/ASTScriptEvaluator.cpp (1 line): - line 74: // FIXME: there's got to be some better way to print an exact reference validation-test/stdlib/Slice/Slice_Of_MinimalBidirectionalCollection_WithSuffix.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. tools/swift-syntax-parser-test/swift-syntax-parser-test.cpp (1 line): - line 75: // FIXME: Return the syntax/token kinds directly from the C API, instead lib/SILOptimizer/SemanticARC/OwnedToGuaranteedPhiOpt.cpp (1 line): - line 215: // TODO: Add support for load [copy]. lib/Sema/ConstraintLocator.cpp (1 line): - line 557: // TODO: Would be great to print a kind of element this is e.g. validation-test/stdlib/ValidationNSNumberBridging.swift (1 line): - line 16: // FIXME: rdar://35814988 validation-test/stdlib/Slice/Slice_Of_MinimalMutableCollection_WithSuffix.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. utils/swift_build_support/swift_build_support/products/swift.py (1 line): - line 109: # FIXME: We are matching build-script-impl here. But it seems like validation-test/stdlib/Slice/Slice_Of_DefaultedMutableBidirectionalCollection_WithPrefix.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. validation-test/stdlib/Slice/Slice_Of_DefaultedMutableRangeReplaceableBidirectionalCollection_FullWidth.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. lib/DriverTool/swift_api_extract_main.cpp (1 line): - line 126: // FIXME: this needs to move to tapi. validation-test/stdlib/Collection/DefaultedCollection.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. lib/ClangImporter/ImportEnumInfo.cpp (1 line): - line 113: // FIXME: Stop using these once flag_enum and enum_extensibility lib/AST/GenericEnvironment.cpp (1 line): - line 351: // FIXME: The existential layout's protocols might differ from the utils/gyb_syntax_support/AttributeNodes.py (1 line): - line 83: # FIXME: Remove this recovery option entirely lib/SILOptimizer/Transforms/AccessEnforcementWMO.cpp (1 line): - line 116: // FIXME: Tail-allocated heap storage is currently categorized as validation-test/stdlib/UnfoldSequence.swift (1 line): - line 10: // FIXME: The full type signatures on these closures should not be validation-test/stdlib/Slice/Slice_Of_MinimalMutableRangeReplaceableRandomAccessCollection_WithSuffix.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. include/swift/SIL/SILGlobalVariable.h (1 line): - line 154: /// FIXME: All functions should have locations, so this method should not be lib/SILOptimizer/SemanticARC/SemanticARCOpts.h (1 line): - line 29: // TODO: Split RedundantCopyValueElimPeephole into more granular categories stdlib/public/core/ArrayShared.swift (1 line): - line 123: @inlinable // FIXME @useableFromInline https://bugs.swift.org/browse/SR-7588 lib/SILOptimizer/Differentiation/JVPCloner.cpp (1 line): - line 536: // FIXME: Handle indirect differentiation invokers. This may require some lib/ClangImporter/ClangAdapter.h (1 line): - line 46: // TODO: pull more off of the ImportImpl lib/IRGen/StructLayout.cpp (1 line): - line 258: // TODO: consider using different layout rules. stdlib/public/LLVMSupport/SmallPtrSet.cpp (1 line): - line 225: // FIXME: From here on we assume that both sets have the same small size. stdlib/public/runtime/ProtocolConformance.cpp (1 line): - line 1255: // FIXME: Implement this check. include/swift/AST/TypeDifferenceVisitor.h (1 line): - line 26: // TODO: maybe have a version of this that works on non-canonical types include/swift/SIL/TypeLowering.h (1 line): - line 828: /// TODO: We want this always to hold. validation-test/stdlib/Collection/MinimalCollection.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. stdlib/private/StdlibCollectionUnittest/LoggingWrappers.swift (1 line): - line 71: // FIXME: it's not clear if it's really worth this hierarchy. the validation-test/stdlib/Slice/Slice_Of_DefaultedRangeReplaceableCollection_WithPrefixAndSuffix.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. validation-test/IDE/complete_repl_from_cocoa.swift (1 line): - line 7: // FIXME: iOS has no Cocoa.framework validation-test/stdlib/HashingPrototype.swift (1 line): - line 65: // FIXME: Problem: what method should a derived Objective-C subclass SwiftCompilerSources/Sources/Optimizer/DataStructures/BasicBlockWorklist.swift (1 line): - line 62: /// TODO: once we have move-only types, make this a real deinit. validation-test/stdlib/Slice/Slice_Of_DefaultedRangeReplaceableCollection_WithPrefix.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. tools/SourceKit/include/SourceKit/Support/ThreadSafeRefCntPtr.h (1 line): - line 144: // FIXME: If ThreadSafeRefCntPtr has private access to IntrusiveRefCntPtr include/swift/SILOptimizer/Analysis/CallerAnalysis.h (1 line): - line 270: /// TODO: For now this is very conservative and is only set to false if we lib/ClangImporter/Serializability.cpp (1 line): - line 269: // TODO: make an effort to filter by the target module? validation-test/stdlib/Array/Array_RangeReplaceableRandomAccessCollectionRef.swift (1 line): - line 32: // FIXME: use LifetimeTracked. validation-test/stdlib/Slice/Slice_Of_DefaultedMutableRangeReplaceableCollection_FullWidth.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. lib/AST/DocComment.cpp (1 line): - line 498: // FIXME: This is to keep the old behavior. lib/Migrator/APIDiffMigratorPass.cpp (1 line): - line 1272: // FIXME: we should migrate this case too. lib/Demangling/Remangler.cpp (1 line): - line 204: // ###TODO: Consider fixing some of these asserts() to return errors somehow validation-test/StdlibUnittest/NSException.swift (1 line): - line 4: // FIXME: this test is failing for watchos lib/SILOptimizer/Transforms/Sink.cpp (1 line): - line 74: // TODO: We may want to delete debug instructions to allow us to sink more validation-test/stdlib/Slice/Slice_Of_DefaultedRangeReplaceableCollection_FullWidth.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. lib/AST/NameLookupRequests.cpp (1 line): - line 51: // FIXME: Improve this diagnostic. lib/SILOptimizer/Mandatory/DataflowDiagnostics.cpp (1 line): - line 106: // passes, such as DCE. FIXME: we might want to just introduce a separate include/swift/SIL/SILConstants.h (1 line): - line 88: // TODO: Eliminate the default kind, by making classifications for each validation-test/stdlib/Slice/Slice_Of_DefaultedRangeReplaceableBidirectionalCollection_FullWidth.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. include/swift/Frontend/ModuleInterfaceSupport.h (1 line): - line 37: /// [TODO: Clang-type-plumbing] This check should go away. include/swift/SIL/PrunedLiveness.h (1 line): - line 114: /// TODO: This can be made space-efficient if all clients can maintain a block lib/AST/RequirementMachine/InterfaceType.cpp (1 line): - line 332: // FIXME: Eliminate this case once merged associated types are gone. stdlib/public/core/FixedArray.swift (1 line): - line 18: // ABI TODO: This makes assumptions about tuple layout in the ABI, namely that validation-test/stdlib/Collection/MinimalMutableRangeReplaceableRandomAccessCollection.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. lib/AST/PlatformKind.cpp (1 line): - line 73: // FIXME: This is an awful way to get the current OS. validation-test/stdlib/Slice/Slice_Of_MinimalMutableRangeReplaceableBidirectionalCollection_WithPrefix.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. include/swift/Basic/Compiler.h (1 line): - line 135: // TODO: consider supporting 16-bit targets utils/swift_build_support/swift_build_support/targets.py (1 line): - line 33: # FIXME: Eliminate this argument; apparently the SDK names are validation-test/compiler_crashers_2_fixed/0019-rdar21511651.swift (1 line): - line 190: // FIXME: Why is this needed? lib/Sema/TypeCheckExpr.cpp (1 line): - line 523: // FIXME: QoI ranges validation-test/stdlib/Slice/Slice_Of_DefaultedMutableRangeReplaceableBidirectionalCollection_WithSuffix.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. include/swift/SIL/Dominance.h (1 line): - line 172: // TODO: eventually fix the DominatorTreeBase::compare() function. validation-test/stdlib/Collection/DefaultedMutableRandomAccessCollection.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. validation-test/stdlib/Slice/Slice_Of_DefaultedMutableCollection_WithSuffix.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. validation-test/stdlib/Slice/Slice_Of_DefaultedBidirectionalCollection_WithPrefixAndSuffix.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. lib/SILOptimizer/LoopTransforms/LoopUnroll.cpp (1 line): - line 378: // TODO: We need to split edges from non-condbr exits for the SSA updater. For validation-test/stdlib/Slice/Slice_Of_MinimalMutableRangeReplaceableCollection_WithPrefixAndSuffix.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. unittests/DependencyScan/ModuleDeps.cpp (1 line): - line 180: // TODO: Output/verify dependency graph correctness validation-test/stdlib/Slice/Slice_Of_MinimalMutableRangeReplaceableCollection_WithPrefix.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. lib/SILGen/SILGenBuilder.h (1 line): - line 333: // TODO: Rename this to createFunctionRef once all calls to createFunctionRef lib/Demangling/Demangler.cpp (1 line): - line 1718: // TODO: This would be a lot easier if we represented bound generic args stdlib/public/runtime/CygwinPort.cpp (1 line): - line 37: // FIXME: This implementation does a global lock, which is much worse than tools/SourceKit/tools/sourcekitd/lib/API/sourcekitdAPI-Common.cpp (1 line): - line 196: // FIXME: Put the error message in the crash report. lib/SILOptimizer/Transforms/SILMem2Reg.cpp (1 line): - line 670: // TODO: Remove this hack, it is only necessary because erasePhiArgument lib/IDE/CodeCompletionResultPrinter.cpp (1 line): - line 456: // FIXME: we need a more uniform way to handle operator completions. lib/SILOptimizer/Utils/PartialApplyCombiner.cpp (1 line): - line 222: // TODO: Handle argument conversion. All the code in this file needs to be stdlib/public/core/DictionaryStorage.swift (1 line): - line 51: /// FIXME: Shrink storage on deletion include/swift/AST/LinkLibrary.h (1 line): - line 29: // FIXME: This is basically a slightly more generic version of Clang's lib/SIL/IR/SILFunction.cpp (1 line): - line 569: OS << I; // TODO: or should we output the literal value of I? include/swift/SIL/SILVTable.h (1 line): - line 42: // TODO: Entry should include substitutions needed to invoke an overridden utils/gyb_syntax_support/ExprNodes.py (1 line): - line 352: # FIXME: Add a 'CaptureSpecifier' node kind for `Specifier`. lib/SILOptimizer/FunctionSignatureTransforms/ExistentialTransform.cpp (1 line): - line 508: // TODO: This would be simpler if we had managed value/cleanup scopes. include/swift/AST/DeclContext.h (1 line): - line 528: /// FIXME: do this for Protocols, too someday lib/IRGen/IRGen.h (1 line): - line 218: Load = 3, // TODO: split into static- and dynamic-offset cases? include/swift/SILOptimizer/Analysis/AccessStorageAnalysis.h (1 line): - line 297: /// TODO: Summarize ArraySemanticsCall accesses. include/swift/AST/IRGenOptions.h (1 line): - line 28: // FIXME: This include is just for llvm::SanitizerCoverageOptions. We should utils/swift_build_support/swift_build_support/products/swiftpm.py (1 line): - line 52: # FIXME: We require llbuild build directory in order to build. Is validation-test/Reflection/functions.swift (1 line): - line 7: // FIXME: Should not require objc_interop -- please put Objective-C-specific stdlib/public/core/AnyHashable.swift (1 line): - line 196: // FIXME: This should also work without the Objective-C runtime. validation-test/stdlib/Slice/Slice_Of_DefaultedMutableRandomAccessCollection_WithPrefix.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. SwiftCompilerSources/Sources/Optimizer/PassManager/PassUtils.swift (1 line): - line 125: // TODO: do we need to notify any changes? lib/SILGen/Condition.cpp (1 line): - line 90: /// TODO: We might be able to coordinate AllowPlusZero across conditionals validation-test/stdlib/Inputs/SwiftObjectNSObject/SwiftObjectNSObject.m (1 line): - line 521: // FIXME: mostly untested stdlib/public/Concurrency/Executor.swift (1 line): - line 107: /// FIXME: figure out some way to achieve that which doesn't generate lib/SILOptimizer/Analysis/BasicCalleeAnalysis.cpp (1 line): - line 57: // TODO: exclude functions which are deserialized from modules in the same validation-test/stdlib/Array/ContiguousArray_RangeReplaceableRandomAccessCollectionRef.swift (1 line): - line 32: // FIXME: use LifetimeTracked. validation-test/stdlib/Slice/Slice_Of_MinimalCollection_WithPrefixAndSuffix.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. validation-test/stdlib/Collection/DefaultedRangeReplaceableBidirectionalCollection.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. include/swift/Frontend/AccumulatingDiagnosticConsumer.h (1 line): - line 48: // TODO: Support Swift-style diagnostic formatting utils/swift_build_sdk_interfaces.py (1 line): - line 271: # FIXME: This shouldn't be necessary, but the module name is checked include/swift/SIL/SILBridgingUtils.h (1 line): - line 40: // TODO: find a better way to pass std::strings to Swift. stdlib/public/core/StringGraphemeBreaking.swift (1 line): - line 32: // TODO: This doesn't generate optimal code, tune/re-write at a lower stdlib/public/runtime/MetadataImpl.h (1 line): - line 421: // TODO: we can do a lot better than this: we don't need to mask off lib/IRGen/GenDistributed.cpp (1 line): - line 302: // TODO: `emitLoad*` would actually load value witness table every benchmark/single-source/Breadcrumbs.swift (1 line): - line 58: // forward-only collections. FIXME: Eliminate this if Self conforms to RAC. lib/IRGen/Outlining.cpp (1 line): - line 56: // FIXME: does this force us to emit a more expensive metadata than we need validation-test/stdlib/Slice/Slice_Of_MinimalMutableBidirectionalCollection_WithPrefixAndSuffix.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. validation-test/Serialization/crash-superclass-dependency-removal.swift (1 line): - line 5: // FIXME: We need a way to handle the disappearing superclass in a position we lib/IRGen/ClassLayout.h (1 line): - line 206: // FIXME: This is algorithmically terrible. validation-test/stdlib/Slice/Slice_Of_DefaultedMutableBidirectionalCollection_FullWidth.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. lib/IRGen/MetadataLayout.h (1 line): - line 320: // TODO: presumably it would be useful to store *something* here stdlib/public/runtime/SwiftDtoa.cpp (1 line): - line 1047: // TODO: Add benchmarking for "small integers" -1000...1000 to validation-test/stdlib/Slice/Slice_Of_MinimalRangeReplaceableCollection_WithPrefixAndSuffix.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. validation-test/stdlib/Collection/MinimalMutableRangeReplaceableBidirectionalCollection.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. stdlib/public/core/ContiguousArray.swift (1 line): - line 159: @inline(__always) // FIXME(TODO: JIRA): Hack around test failure lib/SILOptimizer/ARC/ARCSequenceOpts.cpp (1 line): - line 258: // FIXME: We should support ownership. include/swift/SILOptimizer/Utils/CanonicalizeInstruction.h (1 line): - line 76: // TODO: callbacks should come from the current InstructionDeleter. include/swift/AST/Import.h (1 line): - line 454: // FIXME: Extract an ArrayRefIntPair type from this. include/swift/SIL/InstructionUtils.h (1 line): - line 58: /// FIXME: Today address projections are referring to the result of the stdlib/public/Concurrency/TaskAlloc.cpp (1 line): - line 43: // FIXME: this fall-back shouldn't be necessary, but it's useful validation-test/compiler_crashers_fixed/28185-llvm-foldingset-swift-genericfunctiontype-nodeequals.swift (1 line): - line 16: var target: AnyObject? { set } // FIXME: Missing "get" wrt extension on NSControl leads to crash. lib/SILOptimizer/Mandatory/NestedSemanticFunctionCheck.cpp (1 line): - line 39: /// TODO: The @_semantics tag should only ever be used to convey function benchmark/single-source/SIMDReduceInteger.swift (1 line): - line 78: // TODO: use 100 for Onone? lib/SILOptimizer/ARC/GlobalLoopARCSequenceDataflow.cpp (1 line): - line 170: // TODO: We just check the block itself for now. include/swift/SILOptimizer/Analysis/EscapeAnalysis.h (1 line): - line 987: // TODO: Use per-function caches, at least for Resilient types, to use Maximal validation-test/stdlib/Collection/DefaultedBidirectionalCollection.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. validation-test/stdlib/Collection/DefaultedMutableRangeReplaceableRandomAccessCollection.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. include/swift/SILOptimizer/Utils/GenericCloner.h (1 line): - line 84: // FIXME: We intentionally call SILClonerWithScopes here to ensure validation-test/stdlib/Slice/Slice_Of_DefaultedCollection_FullWidth.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. lib/SILOptimizer/Differentiation/PullbackCloner.cpp (1 line): - line 2364: // TODO: Hoist this logic out of loop over predecessor blocks to lib/SILOptimizer/FunctionSignatureTransforms/ArgumentExplosionTransform.cpp (1 line): - line 82: /// TODO: Improve the 1-3 heuristic by having FSO consider the total validation-test/stdlib/Slice/Slice_Of_DefaultedRandomAccessCollection_WithSuffix.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. stdlib/public/core/SipHash.swift (1 line): - line 23: // FIXME: Remove @usableFromInline and @frozen once Hasher is resilient. validation-test/SIL/verify_all_overlays.py (1 line): - line 31: # TODO: fix the DifferentiationUnittest module. validation-test/stdlib/Slice/Slice_Of_DefaultedRangeReplaceableBidirectionalCollection_WithPrefix.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. lib/SILOptimizer/Analysis/ValueTracking.cpp (1 line): - line 311: // TODO: If source type size is smaller than the target type validation-test/stdlib/Slice/Slice_Of_DefaultedMutableRangeReplaceableCollection_WithSuffix.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. cmake/modules/AddSwiftUnittests.cmake (1 line): - line 13: # TODO: _add_variant_c_compile_link_flags and these tests should share some validation-test/stdlib/Collection/MinimalRandomAccessCollection.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. validation-test/stdlib/Slice/Slice_Of_MinimalMutableRangeReplaceableBidirectionalCollection_WithPrefixAndSuffix.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. validation-test/stdlib/Slice/Slice_Of_DefaultedRangeReplaceableRandomAccessCollection_WithPrefix.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. lib/SILGen/SILGenFunction.h (1 line): - line 1359: // FIXME: demote this to private state. lib/SILOptimizer/Mandatory/SILGenCleanup.cpp (1 line): - line 95: // TODO: This pass can be converted to a function transform if the mandatory utils/build_swift/build_swift/constants.py (1 line): - line 130: FIXME: What about the new llvm-project monorepo? lib/SILOptimizer/Mandatory/DiagnoseInvalidEscapingCaptures.cpp (1 line): - line 433: // TODO: Verify that all uses of noescaping function arguments are SIL patterns validation-test/stdlib/Slice/Slice_Of_DefaultedMutableCollection_WithPrefix.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. include/swift/AST/Stmt.h (1 line): - line 582: /// FIXME: Find a better way to implement this. Allows conditions to be lib/AST/ASTScopeCreation.cpp (1 line): - line 922: // FIXME: Re-enable this. It currently crashes for malformed enum cases. stdlib/public/Concurrency/AsyncLet.swift (1 line): - line 41: asyncLet: Builtin.RawPointer // TODO: should this take __owned? lib/Driver/UnixToolChains.cpp (1 line): - line 131: // FIXME: We probably shouldn't be adding an rpath here unless we know ahead validation-test/stdlib/Slice/Slice_Of_MinimalCollection_FullWidth.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. lib/IRGen/ReferenceTypeInfo.h (1 line): - line 32: // FIXME: Get spare bits for pointers from a TargetInfo-like structure. lib/AST/GenericSignatureBuilder.h (1 line): - line 1400: /// FIXME: This is a hack because expandConformanceRequirement() lib/SILOptimizer/ARC/RCStateTransition.cpp (1 line): - line 71: // TODO: When we support pairing retains with @owned parameters, we will lib/AST/TypeDeclFinder.cpp (1 line): - line 24: // FIXME: We're looking through sugar here so that we visit, e.g., lib/AST/RequirementMachine/KnuthBendix.cpp (1 line): - line 296: // FIXME: Figure out 3-cell representation for merged associated types include/swift/AST/TypeRepr.h (1 line): - line 214: // FIXME: TypeAttributes isn't a great use of space. lib/IRGen/EnumPayload.h (1 line): - line 32: /// TODO: the current code only ever uses the generic word-chunked validation-test/stdlib/Slice/Slice_Of_DefaultedMutableCollection_FullWidth.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. lib/SIL/IR/SILLocation.cpp (1 line): - line 44: // TODO: this is a workaround until rdar://problem/25225083 is implemented. benchmark/single-source/QueueTest.swift (1 line): - line 30: // TODO: remove when there is a native equivalent in the std lib validation-test/stdlib/Slice/Slice_Of_DefaultedRandomAccessCollection_WithPrefix.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. validation-test/stdlib/Slice/Slice_Of_DefaultedRangeReplaceableBidirectionalCollection_WithSuffix.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. validation-test/stdlib/Collection/MinimalMutableRangeReplaceableCollection.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. lib/SILOptimizer/Analysis/LoopRegionAnalysis.cpp (1 line): - line 694: // TODO: Is this necessary? We visit BBs in RPO order. This means that we validation-test/compiler_crashers_2_fixed/0027-rdar21514140.swift (1 line): - line 192: // FIXME: Why is this needed? include/swift/Frontend/FrontendOptions.h (1 line): - line 340: /// TODO: remove this after we fix all project-side warnings in the interface. validation-test/stdlib/Slice/Slice_Of_DefaultedMutableRangeReplaceableCollection_WithPrefix.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. validation-test/stdlib/CoreGraphics-verifyOnly.swift (1 line): - line 11: // TODO: has memory issues as a runtime test, so make it verify-only for now validation-test/stdlib/Slice/Slice_Of_MinimalRangeReplaceableBidirectionalCollection_FullWidth.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. validation-test/stdlib/Slice/Slice_Of_MinimalRangeReplaceableCollection_FullWidth.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. lib/PrintAsClang/DeclAndTypePrinter.cpp (1 line): - line 60: // FIXME: clang::IdentifierInfo /nearly/ has the API we need to do this stdlib/public/stubs/SwiftNativeNSXXXBaseARC.m (1 line): - line 36: // FIXME: Right now we force an autoreleasepool here on x86_64 where we really validation-test/stdlib/Slice/Slice_Of_MinimalRangeReplaceableRandomAccessCollection_WithPrefixAndSuffix.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. validation-test/StdlibUnittest/Common.swift (1 line): - line 3: // FIXME: this test is failing for watchos lib/AST/ConformanceLookupTable.h (1 line): - line 465: /// FIXME: This is a hack, because it's the wrong question to ask. It lib/SILOptimizer/Analysis/RCIdentityAnalysis.cpp (1 line): - line 219: // FIXME: If we ever split all critical edges, this should be relooked at. include/swift/SILOptimizer/Analysis/Analysis.h (1 line): - line 145: /// TODO: By default this is a no-op, but really it should call lib/SILOptimizer/Analysis/CallerAnalysis.cpp (1 line): - line 34: // TODO: Make this more aggressive by considering validation-test/stdlib/Slice/Slice_Of_MinimalMutableRangeReplaceableRandomAccessCollection_FullWidth.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. validation-test/stdlib/Slice/Slice_Of_MinimalMutableRangeReplaceableRandomAccessCollection_WithPrefixAndSuffix.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. include/swift/SIL/SILBridging.h (1 line): - line 145: // TODO: do this less hacky. include/swift/SILOptimizer/Utils/CanonicalOSSALifetime.h (1 line): - line 214: /// TODO: Move all the private per-definition members into an implementation lib/SILOptimizer/Transforms/TempLValueOpt.cpp (1 line): - line 72: /// TODO: when DestroyHoisting can run later in the pipeline, check if we still lib/SILGen/SILGenForeignError.cpp (1 line): - line 77: // TODO: this should really be an unlowered AST type? include/swift/Sema/SourceLoader.h (1 line): - line 100: // FIXME: Implement? lib/SILOptimizer/FunctionSignatureTransforms/OwnedToGuaranteedTransform.cpp (1 line): - line 64: // TODO: The return block and throw block should really be abstracted away. cmake/modules/AddSwift.cmake (1 line): - line 418: # TODO: Evaluate/enable -f{function,data}-sections --gc-sections for bfd, validation-test/stdlib/Concatenate.swift (1 line): - line 40: // FIXME: separate 'expected' and 'reversed' variables are a workaround include/swift/Reflection/Records.h (1 line): - line 153: // FIXME: Actually implement this. For now, a descriptor with this kind validation-test/stdlib/Collection/DefaultedMutableCollection.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. validation-test/compiler_crashers_2_fixed/0013-rdar19519590.swift (1 line): - line 7: // FIXME: should really be a typealias once we support that lib/IRGen/GenDiffFunc.cpp (1 line): - line 164: // TODO: Ban 'Normal' and 'Forward'. include/swift/SIL/OptimizationRemark.h (1 line): - line 67: /// TODO: Unfortunate that this needs to be done. validation-test/stdlib/Slice/Slice_Of_MinimalRangeReplaceableRandomAccessCollection_WithPrefix.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. lib/SILOptimizer/Utils/LoopUtils.cpp (1 line): - line 176: /// FIXME: We should identify nested loops with a common header and separate tools/SourceKit/cmake/modules/AddSwiftSourceKit.cmake (1 line): - line 3: # FIXME: this is a HACK. All SourceKit CMake code using this function should be include/swift/IDE/Refactoring.h (1 line): - line 68: // TODO: Merge with NoteRegion – range needs to change to start/end line/column lib/AST/ExtInfo.cpp (1 line): - line 172: // [FIXME: Clang-type-plumbing] Strengthen check when UseClangFunctionTypes tools/SourceKit/lib/SwiftLang/SwiftConformingMethodList.cpp (1 line): - line 166: // FIXME: the use of None as primary file is to match the fact we do not read stdlib/public/core/BridgeObjectiveC.swift (1 line): - line 409: public struct AutoreleasingUnsafeMutablePointer validation-test/compiler_crashers_2_fixed/0206-rdar54952911.swift (1 line): - line 2: // FIXME: Get the above to pass with -emit-ir too. include/swift/SILOptimizer/Analysis/ClosureScope.h (1 line): - line 26: /// TODO: When this analysis is used across passes, fix SILCloner to update or lib/Basic/BasicSourceInfo.cpp (1 line): - line 53: // FIXME: Parse the file with EnableInterfaceHash option. lib/Sema/TypeCheckProtocol.h (1 line): - line 785: // FIXME: SwiftUI source compatibility hack; see usage for details. validation-test/stdlib/Slice/Slice_Of_MinimalRangeReplaceableRandomAccessCollection_WithSuffix.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. include/swift/SILOptimizer/Analysis/ValueTracking.h (1 line): - line 57: /// TODO: Fold this into the AccessStorage API. pointsToLocalObject should be utils/bug_reducer/bug_reducer/list_reducer.py (1 line): - line 60: # TODO: Is this correct? I guess we are always doing something. lib/SILOptimizer/Mandatory/DiagnoseInfiniteRecursion.cpp (1 line): - line 74: // FIXME: If we're not inside the module context of the method, cmake/modules/StandaloneOverlay.cmake (1 line): - line 106: # FIXME: We should cut this down to a single flag. lib/IDE/CompletionInstance.cpp (1 line): - line 352: // FIXME: Since we don't setup module loaders on the temporary AST context, lib/SILOptimizer/Differentiation/DifferentiationInvoker.cpp (1 line): - line 57: // TODO: Enable printing parent invokers. lib/Parse/ParseType.cpp (1 line): - line 1013: // FIXME: lexer should smartly separate '>' and trailing contents like '?'. lib/Basic/Located.cpp (1 line): - line 23: // FIXME: The following does not compile on newer clangs because operator<< validation-test/stdlib/Slice/Slice_Of_DefaultedRandomAccessCollection_WithPrefixAndSuffix.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. stdlib/public/Concurrency/TaskPrivate.h (1 line): - line 323: /// TODO (rokhinip): Only 8 bits of the full size_t are used. Change this into lib/ClangImporter/ClangSourceBufferImporter.cpp (1 line): - line 72: // FIXME: Virtual files can't actually model the EOF position correctly, so include/swift/AST/StorageImpl.h (1 line): - line 208: /// TODO: maybe add a StoredWithDidSet here and to ReadWriteImplKind? stdlib/public/core/StringUnicodeScalarView.swift (1 line): - line 82: // TODO: Assert start/end are scalar aligned validation-test/stdlib/Slice/Slice_Of_DefaultedMutableRangeReplaceableRandomAccessCollection_FullWidth.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. lib/IRGen/MetadataRequest.h (1 line): - line 106: /// FIXME: ensure the existence of a collector in all the places that lib/Serialization/DeserializeSIL.h (1 line): - line 244: /// TODO: Globals. validation-test/stdlib/Slice/Slice_Of_MinimalMutableCollection_WithPrefix.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. include/swift/Parse/Parser.h (1 line): - line 329: // TODO: customizable. stdlib/public/SwiftRemoteMirror/SwiftRemoteMirror.cpp (1 line): - line 75: // TODO: The following should be set based on the target. stdlib/public/core/Pointer.swift (1 line): - line 359: // TODO: Putting a canary at the end of the array in checked builds might include/swift/Reflection/RuntimeInternals.h (1 line): - line 15: // FIXME: Ideally the original definitions would be templatized on a Runtime lib/SIL/IR/SILCoverageMap.cpp (1 line): - line 66: // TODO: This format's nice and human readable, but does it fit well with validation-test/stdlib/Slice/Slice_Of_MinimalCollection_WithPrefix.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. stdlib/public/core/Mirror.swift (1 line): - line 12: // FIXME: ExistentialCollection needs to be supported before this will work utils/pass-pipeline/scripts/pipelines_build_script.py (1 line): - line 15: # TODO: This should not be hard coded. lib/SILOptimizer/Analysis/ClassHierarchyAnalysis.cpp (1 line): - line 38: // TODO: cross-module WMO include/swift/SIL/BridgedSwiftObject.h (1 line): - line 27: // TODO: These macro definitions are duplicated in Visibility.h. Move stdlib/public/runtime/AutoDiffSupport.h (1 line): - line 28: // TODO: Use a custom allocator so that the initial slab can be include/swift/AST/SearchPathOptions.h (1 line): - line 369: // FIXME: Should we include the system-ness of framework validation-test/stdlib/Collection/MinimalMutableCollection.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. lib/SILOptimizer/ARC/ARCRegionState.cpp (1 line): - line 495: // FIXME: mayReleaseOrReadRefCount should be a strict subset of include/swift/FrontendTool/FrontendTool.h (1 line): - line 56: // TODO: maybe enhance this interface to hear about IRGen and LLVM lib/AST/ModuleLoader.cpp (1 line): - line 169: // FIXME: Better to add it only if we load it. validation-test/IDE/complete_from_cocoa.swift (1 line): - line 6: // FIXME: iOS has no Cocoa.framework validation-test/stdlib/Slice/Slice_Of_DefaultedMutableRangeReplaceableCollection_WithPrefixAndSuffix.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. lib/IDE/CommentConversion.cpp (1 line): - line 400: // FIXME: hang the converter object somewhere so that it is persistent validation-test/stdlib/Slice/Slice_Of_DefaultedMutableRandomAccessCollection_WithSuffix.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. lib/AST/ModuleNameLookup.cpp (1 line): - line 141: // FIXME: This may not work gracefully if more than one of these lookups include/swift/AST/ArgumentList.h (1 line): - line 43: // TODO: Store inout bit here. lib/Sema/TypeCheckRequestFunctions.cpp (1 line): - line 97: // FIXME: Should this just return once a cycle is detected? include/swift/AST/DebuggerClient.h (1 line): - line 50: /// FIXME: I don't think this ever does anything useful. validation-test/stdlib/Slice/Slice_Of_MinimalRangeReplaceableCollection_WithPrefix.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. validation-test/stdlib/Slice/Slice_Of_DefaultedMutableCollection_WithPrefixAndSuffix.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. include/swift/IRGen/Linking.h (1 line): - line 1539: // TODO: BFD and gold do not handle COMDATs properly validation-test/stdlib/Slice/Slice_Of_DefaultedMutableRangeReplaceableBidirectionalCollection_WithPrefix.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. lib/Basic/OutputFileMap.cpp (1 line): - line 149: /// FIXME: Make the returned error strings more specific by including some of stdlib/public/Concurrency/CooperativeGlobalExecutor.inc (1 line): - line 178: // TODO: should the donator have some say in this? stdlib/public/core/ArrayBuffer.swift (1 line): - line 71: // FIXME: can't check that U is derived from Element pending stdlib/public/Reflection/TypeRefBuilder.cpp (1 line): - line 56: // TODO: Try using MetadataReader to read the string here? stdlib/public/core/Assert.swift (1 line): - line 311: // FIXME: The below won't run the assert on 5.1 stdlib if testing on older validation-test/stdlib/Slice/Slice_Of_MinimalCollection_WithSuffix.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. lib/SILOptimizer/Analysis/ClosureScope.cpp (1 line): - line 85: // FIXME: isCalleeDynamicallyReplaceable should not be true but can today validation-test/stdlib/Slice/Slice_Of_MinimalMutableRandomAccessCollection_FullWidth.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. lib/ClangImporter/DWARFImporter.cpp (1 line): - line 107: // FIXME: Implement submodule support! include/swift/Markup/AST.h (1 line): - line 556: // FIXME: Hyperlink destinations can't be wrapped - use a Line lib/SILOptimizer/Utils/SILSSAUpdater.cpp (1 line): - line 535: // TODO: We probably want to use a SILBuilderWithScope here. What should we validation-test/stdlib/Slice/Slice_Of_DefaultedBidirectionalCollection_FullWidth.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. include/swift/AST/PrintOptions.h (1 line): - line 351: // [TODO: Clang-type-plumbing] Print the full type in the swiftinterface. lib/IRGen/GenConstant.cpp (1 line): - line 241: assert(!fn->isAsync() && "TODO: support async functions"); validation-test/stdlib/Collection/DefaultedRangeReplaceableRandomAccessCollection.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. tools/SourceKit/include/SourceKit/Core/LLVM.h (1 line): - line 49: // TODO: DenseMap, ... validation-test/stdlib/Array/ArraySliceWithNonZeroStartIndex_RangeReplaceableRandomAccessCollectionRef.swift (1 line): - line 38: // FIXME: use LifetimeTracked. validation-test/stdlib/Slice/Slice_Of_DefaultedBidirectionalCollection_WithSuffix.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. lib/IRGen/GenClangDecl.cpp (1 line): - line 201: // FIXME: We try to avoid looking for PragmaCommentDecls unless we need to, validation-test/stdlib/Slice/Slice_Of_DefaultedRandomAccessCollection_FullWidth.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. lib/IRGen/ClassLayout.cpp (1 line): - line 54: // FIXME: assumes layout is always sequential! validation-test/stdlib/Slice/Slice_Of_MinimalMutableRangeReplaceableRandomAccessCollection_WithPrefix.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. include/swift/Runtime/Metadata.h (1 line): - line 922: // swiftCore. TODO: figure out a reasonable way to declare them. lib/Serialization/ModuleFile.h (1 line): - line 686: // FIXME: This seems fragile, maybe store the filename separately ? include/swift/SILOptimizer/Analysis/ARCAnalysis.h (1 line): - line 83: /// TODO: Better name. lib/Sema/DerivedConformanceDistributedActor.cpp (1 line): - line 242: // TODO: offer better diagnosis for error scenarios here stdlib/public/core/SetStorage.swift (1 line): - line 51: /// FIXME: Shrink storage on deletion validation-test/stdlib/Collection/MinimalRangeReplaceableRandomAccessCollection.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. lib/Sema/DerivedConformanceCaseIterable.cpp (1 line): - line 36: // FIXME: Lift the availability restriction. include/swift/Driver/Compilation.h (1 line): - line 13: // TODO: Document me stdlib/public/core/AssertCommon.swift (1 line): - line 19: // FIXME: We could go farther with this simplification, e.g. avoiding utils/build_swift/build_swift/defaults.py (1 line): - line 73: TODO: Support Linux and Windows platforms. validation-test/stdlib/Slice/Slice_Of_MinimalMutableRandomAccessCollection_WithPrefixAndSuffix.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. SwiftCompilerSources/Sources/Optimizer/DataStructures/Stack.swift (1 line): - line 129: /// TODO: once we have move-only types, make this a real deinit. lib/AST/ASTScopeLookup.cpp (1 line): - line 272: // FIXME: Proper isa/dyn_cast support would be better than a string tools/SourceKit/lib/SwiftLang/SwiftTypeContextInfo.cpp (1 line): - line 141: // FIXME: the use of None as primary file is to match the fact we do not read validation-test/stdlib/Collection/DefaultedMutableRangeReplaceableCollection.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. tools/SourceKit/tools/sourcekitd-test/TestOptions.cpp (1 line): - line 467: //FIXME: should we use IncludedFlagsBitmask and ExcludedFlagsBitmask? validation-test/stdlib/Slice/Slice_Of_DefaultedRangeReplaceableRandomAccessCollection_WithSuffix.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. lib/Sema/ResilienceDiagnostics.cpp (1 line): - line 86: // FIXME: Conditionalize this once we have a new language mode. include/swift/AST/ExtInfo.h (1 line): - line 135: /// TODO: The overlap of SILFunctionTypeRepresentation and lib/SILOptimizer/LoopTransforms/ForEachLoopUnroll.cpp (1 line): - line 558: // to be loadable. TODO: generalize this to address-only types. stdlib/private/OSLog/OSLogSwiftProtocols.swift (1 line): - line 41: // TODO: Dead code elimination does not remove the call to the default value include/swift/Basic/AnyValue.h (1 line): - line 27: // FIXME: Belongs in LLVM itself validation-test/stdlib/Collection/DefaultedMutableRangeReplaceableBidirectionalCollection.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. lib/FrontendTool/MakeStyleDependencies.cpp (1 line): - line 137: // FIXME: Xcode can't currently handle multiple targets in a single validation-test/stdlib/Slice/Slice_Of_DefaultedMutableRandomAccessCollection_FullWidth.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. validation-test/Serialization/crash-superclass-dependency-cycle.swift (1 line): - line 4: // FIXME: We need a way to handle the cyclic dependency here. lib/AST/Attr.cpp (1 line): - line 874: // FIXME: Ideally we would handle decl modifiers as a special kind of validation-test/compiler_crashers_2_fixed/0096-sr4272.swift (1 line): - line 3: // FIXME: Should this type check? include/swift/Serialization/ModuleDependencyScanner.h (1 line): - line 106: // FIXME: Find a better place for this map to live, to avoid benchmark/single-source/StringInterpolation.swift (1 line): - line 53: // FIXME: if String is not stored as UTF-16 on this platform, then the validation-test/stdlib/Slice/Slice_Of_MinimalMutableRangeReplaceableCollection_WithSuffix.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. validation-test/IDE/complete_from_cocoa_2.swift (1 line): - line 6: // FIXME: iOS has no Cocoa.framework tools/SourceKit/tools/sourcekitd/include/sourcekitd/RequestResponsePrinterBase.h (1 line): - line 108: // FIXME: We should probably print the real data here lib/IRGen/GenThunk.cpp (1 line): - line 127: // FIXME: This duplicates the structure of CallEmission. It should be include/swift/AST/TypeLoc.h (1 line): - line 46: // FIXME: We generally shouldn't need to build TypeLocs without a location. validation-test/stdlib/Array/ArraySlice_RangeReplaceableRandomAccessCollectionRef.swift (1 line): - line 32: // FIXME: use LifetimeTracked. lib/Parse/ParseRequests.cpp (1 line): - line 118: // FIXME: How do we configure code completion? lib/AST/RequirementMachine/HomotopyReduction.cpp (1 line): - line 506: // FIXME: For now this just produces a set of redundant conformances, but stdlib/public/core/StringUTF8View.swift (1 line): - line 110: // TODO: Ensure index alignment lib/SILOptimizer/Transforms/ArrayElementValuePropagation.cpp (1 line): - line 43: /// TODO: this is not yet implemented. lib/Frontend/SerializedDiagnosticConsumer.cpp (1 line): - line 502: // FIXME: Swift diagnostics currently have no flags. stdlib/public/core/Array.swift (1 line): - line 478: @inline(__always) // FIXME(TODO: JIRA): Hack around test failure validation-test/stdlib/Slice/Slice_Of_MinimalMutableRangeReplaceableBidirectionalCollection_WithSuffix.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. lib/Basic/LangOptions.cpp (1 line): - line 179: // FIXME: Perform some kind of validation of the string? validation-test/stdlib/Slice/Slice_Of_DefaultedRangeReplaceableCollection_WithSuffix.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. lib/IRGen/IRGenFunction.h (1 line): - line 333: // TODO: It might be better to return just a value witness table reference lib/IRGen/GenEnum.h (1 line): - line 309: /// FIXME: is this the same as emitGetEnumTag()? Seems like it could be, lib/SIL/IR/SILGlobalVariable.cpp (1 line): - line 182: // TODO: support async function pointers in static globals. validation-test/stdlib/Collection/MinimalMutableBidirectionalCollection.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. validation-test/stdlib/Slice/Slice_Of_DefaultedMutableBidirectionalCollection_WithSuffix.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. stdlib/public/core/Integers.swift (1 line): - line 1537: // TODO(FIXME JIRA): All current stdlib types fit in small. Use a stack validation-test/stdlib/Collection/MinimalRangeReplaceableCollection.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. validation-test/stdlib/Slice/Slice_Of_MinimalRandomAccessCollection_FullWidth.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. validation-test/stdlib/Collection/DefaultedRandomAccessCollection.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. validation-test/stdlib/Collection/MinimalBidirectionalCollection.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. cmake/modules/SwiftConfigureSDK.cmake (1 line): - line 459: # FIXME: this is not wired up with anything yet. include/swift/AST/ASTPrinter.h (1 line): - line 274: // FIXME: this can overwrite the original target with nullptr. validation-test/stdlib/Slice/Slice_Of_MinimalBidirectionalCollection_WithPrefix.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. validation-test/stdlib/Slice/Slice_Of_MinimalRangeReplaceableBidirectionalCollection_WithPrefixAndSuffix.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. lib/Migrator/Migrator.cpp (1 line): - line 88: // TODO: Document replacement map format. stdlib/include/llvm/ADT/SmallString.h (1 line): - line 262: // TODO: Make this const, if it's safe... validation-test/stdlib/Slice/Slice_Of_MinimalMutableCollection_FullWidth.swift (1 line): - line 11: // FIXME: the test is too slow when the standard library is not optimized. lib/SILGen/FormalEvaluation.h (1 line): - line 75: // FIXME: Misnomer. This is not used for borrowing a formal memory location stdlib/public/core/StringUTF8Validation.swift (1 line): - line 99: // FIXME: Remove the call to `_legacyNarrowIllegalRange` and return `illegalRange` directly lib/LLVMPasses/LLVMARCContract.cpp (1 line): - line 91: // FIXME: This method is pretty long since it is actually several smaller lib/SILOptimizer/Transforms/AllocBoxToStack.cpp (1 line): - line 1071: // TODO: Erase from module if there are no more uses. stdlib/public/runtime/HeapObject.cpp (1 line): - line 166: // TODO: We could generate inline code for the fast-path, i.e. the metadata lib/Sema/TypeChecker.h (1 line): - line 1413: // FIXME: Due to problems with the design of DeclAttributes::getAttribute(), lib/SILOptimizer/Analysis/AccessStorageAnalysis.cpp (1 line): - line 278: // TODO: To handle invalid argVal, consider allowing Unidentified access for utils/swift_build_support/swift_build_support/workspace.py (1 line): - line 64: # FIXME: mangle LLDB build configuration into the directory name.