Index: src/InitTweak/FixInitNew.cpp
===================================================================
--- src/InitTweak/FixInitNew.cpp	(revision 4f0c520a5fde365036e37cf8af555db88862d73a)
+++ src/InitTweak/FixInitNew.cpp	(revision 4a8f15041541ed05d71e64f45bf5cca3616efdcb)
@@ -413,11 +413,10 @@
 	void SelfAssignChecker::previsit( const ast::ApplicationExpr * appExpr ) {
 		auto function = getFunction( appExpr );
-		if ( function->name == "?=?" ) { // doesn't use isAssignment, because ?+=?, etc. should not count as self-assignment
-			if ( appExpr->args.size() == 2 ) {
-				// check for structural similarity (same variable use, ignore casts, etc. - but does not look too deeply, anything looking like a function is off limits)
-				if ( structurallySimilar( appExpr->args.front(), appExpr->args.back() ) ) {
-					SemanticWarning( appExpr->location, Warning::SelfAssignment, toCString( appExpr->args.front() ) );
-				}
-			}
+		// Doesn't use isAssignment, because ?+=?, etc. should not count as self-assignment.
+		if ( function->name == "?=?" && appExpr->args.size() == 2
+				// Check for structural similarity (same variable use, ignore casts, etc.
+				// (but does not look too deeply, anything looking like a function is off limits).
+				&& structurallySimilar( appExpr->args.front(), appExpr->args.back() ) ) {
+			SemanticWarning( appExpr->location, Warning::SelfAssignment, toCString( appExpr->args.front() ) );
 		}
 	}
Index: src/ResolvExpr/Resolver.cc
===================================================================
--- src/ResolvExpr/Resolver.cc	(revision 4f0c520a5fde365036e37cf8af555db88862d73a)
+++ src/ResolvExpr/Resolver.cc	(revision 4a8f15041541ed05d71e64f45bf5cca3616efdcb)
@@ -1471,5 +1471,5 @@
 				auto newDecl = fixObjectType(objectDecl, symtab);
 				auto mutDecl = mutate(newDecl);
-				
+
 				// generate CtorInit wrapper when necessary.
 				// in certain cases, fixObjectType is called before reaching
@@ -1489,5 +1489,5 @@
 			currentObject = ast::CurrentObject{ objectDecl->location, objectDecl->get_type() };
 		}
-		
+
 		return objectDecl;
 	}
Index: src/main.cc
===================================================================
--- src/main.cc	(revision 4f0c520a5fde365036e37cf8af555db88862d73a)
+++ src/main.cc	(revision 4a8f15041541ed05d71e64f45bf5cca3616efdcb)
@@ -9,7 +9,7 @@
 // Author           : Peter Buhr and Rob Schluntz
 // Created On       : Fri May 15 23:12:02 2015
-// Last Modified By : Peter A. Buhr
-// Last Modified On : Thu Oct  8 18:17:46 2020
-// Update Count     : 637
+// Last Modified By : Andrew Beach
+// Last Modified On : Tue Dec  1 14:52:00 2020
+// Update Count     : 638
 //
 
@@ -340,5 +340,5 @@
 		} // if
 
-		if( useNewAST) {
+		if( useNewAST ) {
 			if (Stats::Counters::enabled) {
 				ast::pass_visitor_stats.avg = Stats::Counters::build<Stats::Counters::AverageCounter<double>>("Average Depth - New");
@@ -352,4 +352,10 @@
 				return EXIT_SUCCESS;
 			} // if
+
+			// TODO: This is a quick fix to get the build working.
+			// Get rid of fillLocations or at least make a new-ast version.
+			translationUnit = convert( move( transUnit ) );
+			CodeTools::fillLocations( translationUnit );
+			transUnit = convert( move( translationUnit ) );
 
 			PASS( "Fix Init", InitTweak::fix(transUnit, buildingLibrary()));
